首页 > 解决方案 > 正则表达式忽略空格

问题描述

我有以下代码:

string.replace(",Target_String", ""));

问题是逗号,可以出现在 之前和之后Target_String,有时逗号和之间可以有空格Target_String

我想避免代码,例如具有四种不同的replace方法,例如:

string.replace(",Target_String", ""));
string.replace(", Target_String", ""));
string.replace("Target_String,", ""));
string.replace("Target_String ,", ""));

但我不知道如何使用正则表达式实现上述功能。

编辑:逗号只能在结尾或开头找到 - 永远不会在两边target_string

标签: javaregexreplace

解决方案


您可以使用此正则表达式replaceAll

string = string.replaceAll(",?\\h*Target_String\\h*,?", "");

正则表达式演示

解释:

  • ,?\\h: 匹配可选逗号后跟 0 个或多个水平空格
  • Target_String: 匹配文字Target_String
  • \\h*,?: 匹配 0 个或多个水平空格,后跟可选的逗号

推荐阅读