当前位置: 首页 > 知识库问答 >
问题:

如何在java中从字符串中删除子字符串[重复]

魏楷
2023-03-14

我需要对一个字符串进行预处理,并从中移除一些单词。我要找的东西是这样的:-

private static final String[] stopWords = { "is", "on", "of", "with"};
String s1 = "Tiger is Mammal with sharp teeth";
System.out.println("s1 = " + s1);  // "Tiger is Mammal with sharp teeth"
s1.remove(stopWords);  //remove should remove 'is' and 'with'  from s1
System.out.println("s1 = " + s1); // "Tiger Mammal sharp teeth"

我是新的编程,所以请考虑。

共有1个答案

薛淮晨
2023-03-14

您可以使用正则表达式进行此操作:

s1 = s1.replaceAll("\\b(is|on|of|with)\\b","");

这将删除单词,但保留两边的空格,因此在此之后,您可能需要将双空格替换为单行空格:

s1 = s1.replace("  "," ");
 类似资料:
  • 问题内容: 我有以下代码: 我期望: 我有: 现在我做 有没有更好的办法? 问题答案: 并不意味着“删除此子字符串”。视为一组字符,并从的两端去除该组中的所有字符。 在 Python 3.9及更高版本上, 您可以使用和方法从字符串的任一侧删除整个子字符串: 相关的Python增强建议是PEP-616。 在 Python 3.8及更早版本上, 您可以使用和切片: 或正则表达式:

  • 问题内容: 我有一个清单 我正在尝试删除其超字符串已经在列表中的字符串。在这种情况下,结果应为: 我已经写了代码: 但它似乎不起作用。我读过,我们无法在列表上进行迭代时将其删除。因此,副本,而这是我的原始列表。 问题答案: l=[‘abc’,’abcdef’,’def’,’defdef’,’polopolo’] print [j for i, j in enumerate(l) if all(j

  • 问题内容: 红宝石有功能string.squeeze,但我似乎找不到快速等效。 例如我想转簿记员-> bokepr 我唯一的选择是创建一组字符,然后将字符从该组拉回到字符串中吗? 有一个更好的方法吗? 问题答案: 编辑/更新: Swift 4.2或更高版本 您可以使用一组来过滤重复的字符: 或作为扩展,也将扩展String和Substrings:

  • 问题内容: 为了访问Java中String的各个字符,我们有。是否有任何内置函数来删除Java中String的单个字符? 像这样: 问题答案: 你也可以使用可变的类。 它具有方法deleteCharAt(),以及许多其他mutator方法。 只需删除需要删除的字符,然后得到结果,如下所示: 这样可以避免创建不必要的字符串对象。

  • 问题内容: 我有一个来自UI的字符串,其中可能包含控制字符,并且我想删除除 回车符 , 换行符 和 制表 符之外的所有控制字符。 现在,我可以找到两种删除所有控制字符的方法: 1-使用番石榴: 2-使用正则表达式: 问题答案: 如果要删除其他字符或控制uni-code类别中的所有字符,可以执行以下操作 注意: 实际上,这实际上从字符串中除去了(\ u008f)Unicode字符,而不是转义的形式“

  • 问题内容: (据我所知)Android中是否有任何方法都没有java.text.Normalizer从字符串中删除任何重音符号。例如,“éàù”变成“ eau”。 如果可能,我想避免解析String来检查每个字符! 问题答案: 在Android中可用(无论如何都是最新版本)。您可以使用它。 编辑 供参考,这里是如何使用: (从下面评论中的链接粘贴)