2012-02-09 17 views
7

È Replace in C# uguale a replaceAll in Java?Sostituisci in C# e sostituisci Tutto in Java

Sto provando a sostituire qualsiasi cosa tra parentesi ma non sembra funzionare in C#. Ho bisogno che l'output sia solo "blah".

string username = "blah (blabla)"; 
userName = userName.Replace("\\([^\\(]*\\)", ""); 

Funziona quando lo uso here.

+0

String.Replace non usa espressioni regolari, solo stringhe semplici. – Blorgbeard

risposta

11

Stai cercando il metodo Regex.Replace():

string username = "blah (blabla)"; 
Regex rgx = new Regex("\\([^\\(]*\\")); 
userName = rgx.Replace(input, ""); 

Il metodo string.Replace() gestisce proprio questo, stringa sostituzioni - non copre espressione regolare.

+0

Grazie mille lavorato –

3

Attualmente si sta sostituendo una stringa di base.

Se si desidera utilizzare espressioni regolari, utilizzare:

username = Regex.Replace(username, "\\([^\\(]*\\)", ""); 
+0

bello e ordinato grazie per il vostro aiuto –