用于匹配字符串中 space 的正则表达式
Regex for matching with space in a string
我需要在一些文本前面附加一个前缀,在文本和前缀之间添加 space。
例如:
“示例文本”将变为
“[外部] 示例文本”。
如果前缀已经包含在文本中(case-insensitive),那么我需要将前缀替换为全部大写。
例如,如果文本是:“[外部]样本”或“[外部]样本”或“[外部]样本”:
在所有情况下,我都需要在前缀和示例文本之间添加 space 的“[EXTERNAL] 示例”。
private static final String TITLE_REGEX_PATTERN = "(?i)"+ Pattern.quote("[external]");
private static final String EXTERNAL_TITLE_PREFIX = "[EXTERNAL] ";
private String appendPrefixToTitle(String title) {
if (!titleContainsPrefix(title)) {
return "[EXTERNAL] " + title;
} else {
return title.replaceFirst(TITLE_REGEX_PATTERN, EXTERNAL_TITLE_PREFIX);
}
}
private boolean titleContainsPrefix(String title) {
return StringUtils.beginsWithIgnoreCase(title, EXTERNAL_TITLE_PREFIX.trim());
}
如果标题已经包含正确的格式,这样做会额外添加一个 space。给我建议一个更好的方法而不拆分 hte 输入。
尝试用这段代码替换文本开头可能出现的[External]
String text = "[External]Sample";
text = Pattern.compile("(^\[EXTERNAL\]\s*)?", Pattern.CASE_INSENSITIVE).matcher(text).replaceFirst("[EXTERNAL] ");
我需要在一些文本前面附加一个前缀,在文本和前缀之间添加 space。
例如: “示例文本”将变为 “[外部] 示例文本”。
如果前缀已经包含在文本中(case-insensitive),那么我需要将前缀替换为全部大写。
例如,如果文本是:“[外部]样本”或“[外部]样本”或“[外部]样本”:
在所有情况下,我都需要在前缀和示例文本之间添加 space 的“[EXTERNAL] 示例”。
private static final String TITLE_REGEX_PATTERN = "(?i)"+ Pattern.quote("[external]");
private static final String EXTERNAL_TITLE_PREFIX = "[EXTERNAL] ";
private String appendPrefixToTitle(String title) {
if (!titleContainsPrefix(title)) {
return "[EXTERNAL] " + title;
} else {
return title.replaceFirst(TITLE_REGEX_PATTERN, EXTERNAL_TITLE_PREFIX);
}
}
private boolean titleContainsPrefix(String title) {
return StringUtils.beginsWithIgnoreCase(title, EXTERNAL_TITLE_PREFIX.trim());
}
如果标题已经包含正确的格式,这样做会额外添加一个 space。给我建议一个更好的方法而不拆分 hte 输入。
尝试用这段代码替换文本开头可能出现的[External]
String text = "[External]Sample";
text = Pattern.compile("(^\[EXTERNAL\]\s*)?", Pattern.CASE_INSENSITIVE).matcher(text).replaceFirst("[EXTERNAL] ");