gpt4 book ai didi

java - 如何过滤字符串但保留一些标签

转载 作者:行者123 更新时间:2023-12-01 13:47:33 25 4
gpt4 key购买 nike

如何过滤字符串?

String[] filterTags={<A>,<BC>,<A,<B};

filterTags 可以包含更多值,它可以包含一些字符串、数字或任何可以动态增长的内容

String name="<A><ABC><B><B"

我想要的是从filterTags数组中删除值但保留<ABC>因为它来自名称(字符串)

if (name.contains(filterTags[i])and ???)

我只需要一个简单的检查,如果名称(字符串)中包含filterTags值,则将删除它,但保持原样

提前谢谢您

最佳答案

好吧,你可以使用正则表达式来做到这一点:

String filtered = name.replaceAll("(<A>|<BC>|<A|<B)", "");
// filtered == "<ABC>"

现在的问题是创建该正则表达式字符串。您可以对其进行硬编码,因为看起来这就是您正在对数组执行的操作,或者您可以执行以下操作:

StringBuilder sb = new StringBuilder("(");
for (String token : filterTags) {
sb.append(token);
sb.append('|');
}
sb.deleteCharAt(sb.length() - 1); // Remove the last "|"
sb.append(')');
String regex = sb.toString();

请注意,只有当您的过滤器标记不包含任何正则表达式特殊字符时,这才有效

关于java - 如何过滤字符串但保留一些标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20249053/

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