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

  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • Charles Nesson

    Charles Ness

    27 NİSAN 2006
  • FOSDEM

    FOSDEM

    13 Ocak 2009