我正在尝试从字符串中删除破折号、下划线和多余的空格。
下面是我试过的代码:
public class Hello {
public static void main(String args[]) {
String blogName = "ABCD __________________________________________________ Size: 1234-5678 BAR 8956-7896 ---------- CAR 8756-2365";
String nameWithProperSpacing = blogName.replaceAll("\\s+", " ").replaceAll("-", "").replaceAll("_", "");
System.out.println( nameWithProperSpacing );
}
}
不过,我不希望它从单词和数字之间删除它们。例如,我当前的代码将 8956-7896 更改为 89567896。
我想要的输出:
ABCD Size:1234-5678 BAR 8956-7896 CAR 8756-2365
您将需要使用前瞻和后视进行搜索
String nameWithProperSpacing = blogName
.replaceAll("(?<![a-zA-Z0-9])[-_](?![a-zA-Z0-9])", "") ///No -_ not inside a word
.replaceAll("\\s+", " "); /// only 1 space between words
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句