SORU
17 HAZİRAN 2009, ÇARŞAMBA


İngilizce Alfabesine dönüştürme Sembol, Accent Harfler

Sorun, bildiğiniz gibi, in the Unicode chart ve İngiliz alfabesinde bulunan harfleri bütün benzer karakterleri dönüştürmek istiyorum, binlerce karakter var.

Mesela burada birkaç hadise:

ҥ->H
Ѷ->V
Ȳ->Y
Ǭ->O
Ƈ->C
tђє Ŧค๓เℓy --> the Family
...

ve mektubun 20'den fazla sürümü olduğunu gördüm/A. ve onları sınıflandırmak için nasıl bilmiyorum. Samanlıkta iğne gibi görünüyorlar.

Unicode karakterleri listesi http://www.ssec.wisc.edu/~tomw/java/unicode.html http://unicode.org/charts/charindex.html . Sadece aşağı kaydırma ve harf değişimleri görmeye çalışın.

Nasıl Java ile tüm bu dönüştürebilirsiniz? Lütfen bana yardım edin :(

CEVAP
31 Temmuz 2009, Cuma


How do I remove diacritics (accents) from a string in .NET? yazımın transfer kaydı

Bu yöntem java gayet iyi çalışıyor(tamamen aksanlı işaretleri aka aksan ortadan kaldırmak amacıyla).

Temelde deAccented muadilleri birleştirerek kendi aksan ardından tüm aksanlı karakterler dönüştürür. Şimdi aksan soymak için bir düzenli ifade kullanabilirsiniz.

import java.text.Normalizer;
import java.util.regex.Pattern;

public String deAccent(String str) {
    String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD); 
    Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks} ");
    return pattern.matcher(nfdNormalizedString).replaceAll("");
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dom Esposito

    Dom Esposito

    26 Mayıs 2011
  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010