讲述者:孩子,如果你是单身,那么以后就是这么开心。 [标题:2030年]。但是只有你的一个故事可以结束 办法。其余的人因受伤而结束。这是其中之一 故事,它开始......穿着衬衫。
从上面的字符串中,我将如何删除[]所包围的句子。因此,这个
[标题:2030年]。
将被取出。然后字符串变为
讲述者:孩子们,当你单身时,你所寻找的一切都是幸福的。但只有你的一个故事可以这样结束。其余的人因受伤而结束。这是其中一个故事,它开始......带衬衫。
答案 0 :(得分:4)
试试这个:
public static void main(String[] args) {
String s = "Narrator: Kids, if you are single is all this happy ever after. [Title: the year of 2030]. But only one of your stories can end that way. The rest end with someone getting hurt. This is one of those stories, and it starts… with a shirt.";
System.out.println(s.replaceAll("\\[.*?\\]", ""));
}
O / P:
讲述者:孩子,如果你是单身,那么以后就是这么开心。 。但 只有你的一个故事可以这样结束。其余的人与某人结束 受到伤害。这是其中一个故事,它开始......用一个 衬衫。
答案 1 :(得分:1)
您可以使用带有String.replaceAll(String, String)
的正则表达式,但是您需要转义[
和]
个字符(因为它们在正则表达式中具有特殊含义)。像,
String story = "Narrator: Kids, if you are single is all this happy "
+ "ever after. [Title: the year of 2030]. But only one of your stories "
+ "can end that way. The rest end with someone getting hurt. "
+ "This is one of those stories, and it starts… with a shirt.";
story = story.replaceAll("\\[.*\\]", "");
System.out.println(story);
答案 2 :(得分:0)
或者你可以试试这个。
String str = "Narrator: Kids,if you are single is all this happy ever after. [Title: the year of 2030]. But (...)";
StringBuilder strBuild = new StringBuilder(str);
int start = str.indexOf("[");
int end = str.indexOf("]")+1;
strBuild.delete(start, end);
System.out.println(strBuild);