2012-01-06 15 views
9

Chcę usunąć wszystko między < i >, w tym (< i >) z mojego ciągu z wyrażeniem regularnym. Oto kilka przykładów.Wyrażenie regularne w celu usunięcia podłańcucha między dwoma znakami

Hi<friends>and<family> powinno dać Hiand

<Rekha Verma>[email protected] to powinno dać [email protected]

Reva Patel powinno dać Reva Patel

<Reva Patel>[email protected],<rekha Verma>[email protected] powinno dać [email protected],[email protected]

Czy ktoś może podać mi wyrażenie regularne dla tego? Muszę go zaimplementować w Javie.

Odpowiedz

16

Spróbuj użyć wyrażenia regularnego:

<.*?> 

Na przykład:

String s = "Hi<friends>and<family>"; 
System.out.println(s.replaceAll("<.*?>", "")); 
+0

Dziękuję za szybką odpowiedź ... Działa. – Ragini

+0

@RaginiPatel, powinieneś [zaakceptować odpowiedź] (http://meta.stackexchange.com/a/5235) jesteś zadowolony z głosowania i chcesz go głosować myślę, że jesteś dobry/ci pomógł. – Qtax

4
String newStr = str.replaceAll("<[^>]*>", ""); 
+0

-1 to nie zadziała. Dlaczego masz pierwsze i ostatnie/w twoim wyrobie regularnym? – dogbane

+0

@dogbane: Przepraszamy, reakcja z pracy z PHP. Naprawiony. –

0

Daj ten segment kodu spróbować!

String str = "Hi<family>and</family>test";  

for (int i = 0; i < str.split("</?[a-z]+>").length; i++) 
    System.out.println(str.split("</?[a-z]+>")[i]); 
Powiązane problemy