当前位置: 首页 > 面试题库 >

如何使用正则表达式过滤字符串中不需要的字符?

乐正玺
2023-03-14
问题内容

基本上,我想知道是否有一个方便的类或方法来过滤String以查找不需要的字符。该方法的输出应为“ cleaned”字符串。即:

String dirtyString = "This contains spaces which are not allowed"

String result = cleaner.getCleanedString(dirtyString);

预期结果将是:

"Thiscontainsspaceswhicharenotallowed"

一个更好的例子:

String reallyDirty = " this*is#a*&very_dirty&String"

String result = cleaner.getCleanedString(dirtyString);

我希望结果是:

"thisisaverydirtyString"

因为,我让清洁工知道’‘,’*’,’#’,’&’和’_’是脏字符。我可以通过使用黑白字符列表数组来解决此问题。但是我不想重新发明轮子。

我想知道是否已经可以使用正则表达式“清理”字符串。而不是自己写这个。

另外:如果您认为清洁弦琴的方法可能不同/更好,那么我当然也很高兴

另一个补充:-它不仅适用于空格,而且适用于任何字符。


问题答案:

根据您的更新进行编辑:

dirtyString.replaceAll("[^a-zA-Z0-9]","")


 类似资料:
  • 我正在为一个类开发一个程序,该程序要求我们将输入字符串传递给nteger.parseInt函数。在我交出字符串之前,我想确保它不包含任何非数字值。我用Pattern.matches创建了这个同时函数来尝试这个。这是代码: 每当我输入任何字母、标点符号或“特殊字符”,而语句就会发挥应有的作用。但是,每当我引入字母、标点符号或“特殊字符”和数字的任何组合时,程序就会崩溃和燃烧。我的问题是:有没有一种方

  • 我有一个包含数千行的文本文件。这里有一个例子 我试图提取'nt60'、'nt50'末尾的字符串。 问题是会包含行尾字符() 我想使用正则表达式搜索来匹配从 (') 开始的字符串,但我不知道我应该用什么来匹配 。 有人能帮忙吗?

  • 问题内容: 我有一个字符串,我想使用regex表达式拆分此字符串,以便该函数返回数组: 我将如何使用Swift进行此操作? 编辑 我的问题不同于链接的问题。我意识到您可以使用迅速拆分字符串。问题是该问题没有解决如何制作正则表达式的问题。我尝试使用,但是没有用。 如何使该部分成为正则表达式? 问题答案: Swift到目前为止还没有本地正则表达式。但提供。 运行此将输出

  • 我想为C中的一些字符串创建一个正则表达式。 这就是我目前的情况: C中的字符串由双引号(")分隔,因此正则表达式必须由 \" \". 字符串可能不包含换行符,因此我需要执行[^\n](我想)。 字符串还可能包含双引号或反斜杠字符,如果且仅当它们被转义时。因此[\\\”](我想也是这样)。 除此之外,什么都可以。 任何帮助是非常感谢我有点迷失了如何开始写这个正则表达式。

  • 问题内容: 我在用Python将字符串中的数字匹配时遇到麻烦。尽管应该明确匹配,但甚至不匹配 或仅匹配。我的监督在哪里? 问题答案: 阅读文档:http : //docs.python.org/2/library/re.html#re.match 如果在零个或多个字符 开头 的 字符串 您要使用(或)

  • 我有一根下面这样的弦 现在我希望我的程序验证我的输入是否与字符串“phone”的模式相同 我做了以下工作 没奏效。我也尝试了其他的组合。什么都不起作用。 问题:1。我怎样才能做到这一点,而不使用‘模式’像上面?2.如何用图案做到这一点。我尝试了如下模式 Pattern Pattern=Pattern.compile(“(\d+)”);Matcher match=pattern.Matcher(电话