我需要在一些文本的前面附加一个前缀,在文本和前缀之间留出空格。
例如:"Sample text“将变成"EXTERNAL Sample text”。
如果前缀已经包含在文本中(不区分大小写),那么我需要将前缀替换为全部大小写。
例如,如果文本是:"External Sample“或"ExternalSample”或"EXTERNALSample":
在所有情况下,我需要有“外部样本”与空格之间的前缀和样本文本。
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());
}如果标题已经包含正确的格式,这样做将添加额外的空格。建议我一个更好的方法,而不是拆分输入。
发布于 2021-10-12 00:48:29
尝试使用此代码替换文本开头可能的外部
String text = "[External]Sample";
text = Pattern.compile("(^\\[EXTERNAL\\]\\s*)?", Pattern.CASE_INSENSITIVE).matcher(text).replaceFirst("[EXTERNAL] ");https://stackoverflow.com/questions/69533809
复制相似问题