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

  • Easy Learn Tutorial

    Easy Learn T

    10 Kasım 2012
  • FullMag

    FullMag

    15 ŞUBAT 2007
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010