如何替换列表中的多个项目?

发布于 2024-12-12 05:27:37 字数 550 浏览 0 评论 0原文

我在列表中添加了几个字符以替换字符串。它们是:

List<Character> list = new ArrayList<Character>();
list.add(',');
list.add('?');
list.add(',');
list.add(':');
list.add('-');
list.add('(');
list.add(')');
list.add(';');
list.add('/');

我想将列表中出现的所有字符替换为字符串“s”。

s.replaceAll(list, "");

当然,我不能这样做,因为列表不是字符串。但我能做什么呢?

编辑所以如果

String s = "I am cool; not good!";

我希望列表识别它包含“;”和“!”,并将 String 中的这些字符替换为空。所以结果是:

"I am cool not good"

I have added several characters in a list to replace in a string. Here they are:

List<Character> list = new ArrayList<Character>();
list.add(',');
list.add('?');
list.add(',');
list.add(':');
list.add('-');
list.add('(');
list.add(')');
list.add(';');
list.add('/');

I want to replace all occurrences of the character in the list in a string "s".

s.replaceAll(list, "");

I can't do that, of course, because list is NOT a string. But what can I do instead?

EDIT so if

String s = "I am cool; not good!";

I want the list to recognize that it contains ";" and "!", and replace those characters in the String s with nothing. So the result would be:

"I am cool not good"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

爱情眠于流年 2024-12-19 05:27:37

我不会使用 List,而是使用正则表达式:

s.replaceAll("[,?:();/-]","");

如果您绝对必须在列表中定义字符,请首先将列表转换为这样的正则表达式。

Rather than use a List<Character>, I would use a regex:

s.replaceAll("[,?:();/-]","");

If you absolutely must define your characters in a List, convert the List to such a regex first.

拔了角的鹿 2024-12-19 05:27:37

为什么不使用正则表达式而不是列表。否则你可能会陷入类似的困境:

StringBuilder mySB = new StringBuilder(myString);
for (Character myChar : list) {
  mySB.replace(String.valueOf(myChar), "");
}

myString = mySB.toString();

Rather than List why not use a regular expression. Otherwise you may be stuck with something like:

StringBuilder mySB = new StringBuilder(myString);
for (Character myChar : list) {
  mySB.replace(String.valueOf(myChar), "");
}

myString = mySB.toString();
雨落星ぅ辰 2024-12-19 05:27:37

查看 Apache Commons StringUtils.replaceEach((字符串文本,
字符串[]搜索列表,
String[] replacementList))
它将允许您在一行中提供要搜索的值列表以及关联的替换列表。

注意:如果搜索数组和替换数组的长度不相同,这将抛出 IndexOutOfBoundsException

check out Apache Commons StringUtils.replaceEach((String text,
String[] searchList,
String[] replacementList))
it will allow you to provide a list of values to search for and a list of associated replacements in a single line.

Note: This will throw IndexOutOfBoundsException if the lengths of the search and replacement arrays are not the same

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文