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

  • Klemens Torggler

    Klemens Torg

    11 Mart 2008
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005
  • UrAvgConsumer

    UrAvgConsume

    1 Ocak 2012