2014-02-18 47 views
1

刪除\ n之間的子想從一個字符串中刪除\n之間的子字符串,如果它包含"FALSE"關鍵詞..我如何從一個字符串在java中

mainString = "hi my name is john \n I am a architect \n hello FALSE \n have a nice day \n" 

我想刪除"\n hello FALSE \n"。我試圖string.replace但沒有成功..

+0

告訴我們你試過的東西 –

回答

-1

您可以分割每個 「\ n」 如下

String[] lines = message.split("\n"); //considering that message variable holds the String 
String msg=""; 

for(int cnt = 0;cnt<lines.length;cnt++) 
{ 
    if(!lines[cnt].contains("FALSE")) 
    {  
     msg+=lines[cnt]+"\n"; 
    } 
} 
System.out.println(msg); 
+3

爲什麼空'if' - 你有沒有聽說過否定? –

+1

我編輯你的代碼,使其更具可讀性。還添加了否定('if'條件中的'!'操作符)以刪除不必要的空塊。如果您更喜歡原始版本,請隨時回滾我的編輯。 – Pshemo

+0

多數民衆贊成在.. ..! 謝謝....現在看起來好多了 – InCh

1
String content = "hi my name is john \n i am a architect \n hello FALSE \n have a nice day \n"; 
final StringBuilder sb = new StringBuilder(); 
final String newLine = "\n"; 

for (String line : content.split(newLine)) { 
    if(!line.contains("FALSE")){ 
     sb.append(line).append(newLine); 
    } 
} 

System.out.println(sb.toString()); 
6

您可以使用正則表達式表達replaceAll()方法從String之間的字符串:

string.replaceAll("\n.*FALSE.*\n", ""); 
相關問題