如何从java中的字符串中删除\ n之间的子字符串

时间:2014-02-18 05:50:54

标签: java substring

我想从字符串中移除\n之间的子字符串,如果它包含"FALSE"关键字..

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但没有成功..

3 个答案:

答案 0 :(得分:6)

您可以使用String中的正则表达式表达式和replaceAll()方法:

string.replaceAll("\n.*FALSE.*\n", "");

答案 1 :(得分: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());

答案 2 :(得分:-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);