29 Aralık 2015 Salı

Html içerisinden Unicode Karanterleri Düzeltmek

Türkçe karakterler ile ilgili bugün yaşadığım ufak bir sıkıntı
bir eticaret sitesinden ürün açıklamalarını Html parse etmeye çalıştım ama sonradan gördümki işgüzar yazılımcı tab içerisine javascript ile load yapmış ve aşağıdaki gibi bir türkçe karakter sıkıntısı oraya çıktı peki bu konuda ne yapabiliriz.

e y\u00fcz\u00fcn\u00fcz ve g\u00f6z \u00e7evreniz i\u00e7in m\u00fckemmel bir

derslerimde sürekli vurguladığım char veri tipinde bu tarz örnekler yaptırmıştım

http://www.fileformat.info/info/unicode/char/00E7/index.htm

unicode tablosunda ç harfinin C/C++/Java source code "\u00E7" karşılığını bulduk ama kod içerisinde bir replace işlemi yapmalıyız.Regex ile ayıkladık ve veriyi int e parse ettik daha sonra char a cast edip ToString diyince alın size :D ç

Code:
private static Regex _regex = new Regex(@"\\u(?[a-zA-Z0-9]{4})", RegexOptions.Compiled);
public string buldegistir(string value)
{
    return _regex.Replace(
        value,
        m => ((char)int.Parse(m.Groups["Value"].Value, NumberStyles.HexNumber)).ToString()
    );
}
Bonus

string data = buldegistir(File.ReadAllText("test.txt"));

Hiç yorum yok:

Yorum Gönder