java - 正则表达式忽略空格
问题描述
我有以下代码:
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
解决方案
您可以使用此正则表达式replaceAll
:
string = string.replaceAll(",?\\h*Target_String\\h*,?", "");
解释:
,?\\h
: 匹配可选逗号后跟 0 个或多个水平空格Target_String
: 匹配文字Target_String
\\h*,?
: 匹配 0 个或多个水平空格,后跟可选的逗号
推荐阅读
- javascript - Plotly JS 折线图有很奇怪的线条
- google-cloud-platform - 如何在 GCP 计算中阻塞端口 22 后恢复 ssh 连接
- python - 在 cgi 脚本中指定 Python 位置
- python - 如何用pyspark有条件地对几列求和?
- cmd - Windows 上的 Visual Studio Code:如何使用 launch.json 传递命令行参数?
- java - 用于计算机器人朝向及其坐标值的 Java 程序
- node.js - 量角器 - MacOS - SyntaxError:意外的令牌“导出”
- merge - 合并多个视频片段并将其复用为普通视频格式
- htmlunit - 使用 HtmlUnit,有没有办法暂停 Javascript 的执行,然后恢复?
- formatting - MS Access 2010 富文本表单控件 - 功能区未启用