public static void main(String[] args) {
String str = "这是}一个{示例{字符串,其中包含{要截取的}内容。";
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c == '{') {
stack.push(i);
} else if (c == '}') {
if (!stack.isEmpty()) {
//说明是成对的,把最后添加的{ 放掉
stack.pop();
} else {
System.out.println("找到了多余的结束花括号 '}'。");
//把多余的'}' 去掉
String start = str.substring(0, i);
String end = str.substring(i + 1);
str = start + end;
}
}
}
while (!stack.isEmpty()) {
int startIndex = stack.pop();
System.out.println("找到了多余的起始花括号 '{',位置:" + startIndex);
//把多余的'}' 去掉
String start = str.substring(0, startIndex);
String end = str.substring(startIndex + 1);
str = start + end;
}
System.out.println("最后的str= "+str);
}
12-17
6065
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-05
2074
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)