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

  • Bigapplemagic

    Bigapplemagi

    22 EYLÜL 2011
  • Commander Chalkboard

    Commander Ch

    20 Ocak 2014
  • Modus Recordings

    Modus Record

    26 Kasım 2008