SORU
1 EYLÜL 2011, PERŞEMBE


Bir Dize içinde Birden fazla Karakter yerine

Daha iyi bir yol dizeleri değiştirmek için var mı?

Yerine karakter dizisi veya string bir dizi çekmek değil, bu beni şaşırttı. Benim kendi uzantısı yazabilirim ama eğer daha iyi bir şekilde aşağıdakileri yapmak için inşa olup olmadığını merak ettim sanırım? En son haber Yerine bir dize bir karakter.

myString.Replace(';', '\n').Replace(',', '\n').Replace('\r', '\n').Replace('\t', '\n').Replace(' ', '\n').Replace("\n\n", "\n");

Teşekkürler.

CEVAP
1 EYLÜL 2011, PERŞEMBE


Bir düzenli ifade yerine kullanabilirsiniz.

s/[;,\t\r ]|[\n]{2}/\n/g
  • Başında s/ bir arama anlamına gelir
  • [ ] arasındaki karakter (herhangi bir sırada) arama yapılacak olan karakter
  • / ikinci arama metni sınırlandırır ve metni değiştirin

İngilizce, bu okur:

"Arama için ; , \t \r (alan) ya da tam olarak iki sıralı \n yerini \n"

C#, aşağıdakileri yapabilirsiniz: (System.Text.RegularExpressions aldıktan sonra)

Regex pattern = new Regex("[;,\t\r ]|[\n]{2}");
pattern.Replace(myString, "\n");

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Khoury

    Adam Khoury

    23 Ocak 2008
  • Matthew Smith

    Matthew Smit

    24 Mayıs 2010
  • waterfairy17

    waterfairy17

    9 Aralık 2007