我的问题是我有一个字符串,每四个字符后有一个分隔符。我需要将特定单词与分隔符之间的四个字符相匹配并将其删除。
例如:String txt =“ABCD | BABA | SSRV | LKGD”
现在检查字符串中的BABA,DGHT,LKGD,ADKC并返回字符串减去这些项目
因为我们找到了BABA和LKGD的匹配。所以结果应该是以下
结果:txt =“ABCD | SSRV”
有效的方法吗?
答案 0 :(得分:0)
您可以使用:
String str = "ABCD|BABA|SSRV|LKGD";
String repl = str.replaceFirst("\\|BABA(?=\\||$)", "");
//=> ABCD|SSRV|LKGD
要同时删除两个搜索字符串:
String str = "ABCD|BABA|SSRV|LKGD";
String repl = str.replaceAll("\\|(BABA|LKGD)(?=\\||$)", "");
//=> ABCD|SSRV
答案 1 :(得分:0)
使用番石榴,但非常易读。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.google.common.base.Joiner;
public class test {
public static void main(String... args) {
String txt = "ABCD|BABA|SSRV|LKGD";
List<String> toBeRemoved = Arrays.asList(new String[] { "BABA", "DGHT","LKGD", "ADKC" });
List<String> data = new ArrayList<>(Arrays.asList(txt.split("\\|")));
data.removeAll(toBeRemoved);
System.out.println(Joiner.on("|").join(data));
}
}