gpt4 book ai didi

java - 替换Java中几个分隔符内的所有子字符串

转载 作者:行者123 更新时间:2023-12-01 23:10:45 29 4
gpt4 key购买 nike

也许这个问题看起来很愚蠢,但我必须处理要预处理的几 GB 文本文件。

Java 中是否有任何有效且可能优雅的方法来从 String 中删除用作分隔符的两个 String 之间的所有子字符串?例如。当您定义两个分隔符时,例如 ([]),然后从 String “Hi ([bla bla]) 如何are ([test]) you?" 必须返回一个新的字符串 “Hi how are you?”

我发现的最简单的方法如下:

String text = "Hi ([bla bla]) how are ([test]) you?";
while(text.contains("([") && text.contains("])")){
text = text.substring(0, text.indexOf("(["))+
text.substring(text.indexOf("])")+"]))".length());
}
System.out.println(text); //Prints "Hi how are you?"

其中 ([]) 是分隔符。

也欢迎全局使用的外部库(例如 Apache 库),但首选标准 Java API。

最佳答案

只要不涉及嵌套,就可以使用正则表达式:

text = text.replaceAll("\\(\\[.*?\\]\\)", "");

如果你想处理空格:

text = text.replaceAll("\\s*\\(\\[.*?\\]\\)\\s*", " ");

关于java - 替换Java中几个分隔符内的所有子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22046475/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com