2009-03-10 23 views
1

Tüm "alpha" olmayan karakterleri bir dizgede artı '+' işareti ile değiştirmek istiyorum, ancak birden çok alfa olmayan karakter grubunun değiştirildiğinden emin olun. bir artı işareti ile.Regex, ardışık olmayan alfa karakterlerini tek bir char ile değiştir

Ben şu işe yarayabilecek düşündüm ama görünüşe göre değil:

System.Text.RegularExpressions.Regex.Replace(name, @"[^\w]*?", "+") 

cevap

0

System.Text.RegularExpressions.Regex.Replace deneyin (isim, @ "\ W +", "+")

için Bu: "sasa - == [] &^asdsa2435" ile eşleşir - == [] &^

+0

Küçük bir uyarı: \ W kullanılarak, harfler, sayılar * ve * alt çizgiler maçtan çıkarılır. Harfleri yalnızca dışlamak istiyorsanız veya [^ 0-9A-Za-z] yerine alfanümerikleri hariç tutmak için [^ A-Za-z] kullanın (ancak altçizgi ekleyin). – LukeH

0

sen gözlülüğü devre dışı olmamalı ve 1 veya daha fazla, değil 0 veya daha çok istiyorum. "*?" Değiştir "+" ile.

İlgili konular