我正在尝试删除第一个坏字符(CAP字母+点+空格)。
一个。装运长度
C.整体高度
总体重量
X.最大切割高度
我尝试了类似的东西,但它不起作用:
string.replaceAll("[A-Z]+". ", "");
结果应如下所示:
装运长度
整体高度
总体重量
最大切割高度
答案 0 :(得分:1)
这应该有效:
string.replaceAll("^[A-Z]\\. ", "")
实施例
"A. Shipping Length of Unit".replaceAll("^[A-Z]\\. ", "")
// => "Shipping Length of Unit"
"Overall Weigth".replaceAll("^[A-Z]\\. ", "")
// => "Overall Weigth"
答案 1 :(得分:1)
input.replaceAll("[A-Z]\\.\\s", "");
[A-Z] 匹配从A到Z的大写字符
\。匹配点字符
\ s 匹配任何空格字符
但是,这将替换与模式匹配的每个字符序列。 要在开头匹配序列,您应该使用
input.replaceAll("^[A-Z]\\.\\s", "");
答案 2 :(得分:0)
试试这个:
myString.replaceAll("([A-Z]\\.\\s)","")
答案 3 :(得分:0)
如果不查看代码,很难说出问题。但根据我的经验,这是我们在最初几天通常会遇到的常见问题:
String string = "A. Test String";
string.replaceAll("^[A-Z]\\. ", "");
System.out.println(string);
String是Java中的不可变类。这意味着一旦你创建了一个对象就无法改变它。所以当我们在现有String中替换所有时,它只是创建一个新的String对象。您需要分配给新变量或覆盖现有值,如下所示:
String string = "A. Test String";
string = string.replaceAll("^[A-Z]\\. ", "");
System.out.println(string);