Java 使用replaceAll删除字符串的一部分
我试图从文件中删除以下句子的开头: 尺寸: 尺寸: 问题在于“:”之间的空格。我尝试了许多正则表达式,使用了来自的一些帮助,但没有一个对我有效 我的代码:Java 使用replaceAll删除字符串的一部分,java,regex,int,Java,Regex,Int,我试图从文件中删除以下句子的开头: 尺寸: 尺寸: 问题在于“:”之间的空格。我尝试了许多正则表达式,使用了来自的一些帮助,但没有一个对我有效 我的代码: String myString= in.nextLine(); myString.replaceAll("size$:", ""); int n = Integer.parseInt(myString); 您可以使用这个正则表达式size\s*:,意思是替换大小,后跟零个或多个空格,后跟:,如下所示:
String myString= in.nextLine();
myString.replaceAll("size$:", "");
int n = Integer.parseInt(myString);
您可以使用这个正则表达式
size\s*:
,意思是替换大小,后跟零个或多个空格,后跟:
,如下所示:
myString = myString.replaceAll("size\\s*:", "");
请注意,Java中的字符串是不可变的,因此必须将replaceAll的结果分配给字符串,否则即使replaceAll工作正常,myString也不会更改
如果只想删除行首的
“size\s:”
字符串,只需将^
锚点添加到正则表达式中,它表示行首,因此如下所示:
myString = myString.replaceAll("^size\\s*:", "");
很好!最明显的错误在于被遗忘了对替代者结果的分配。这就是所有正则表达式都失败的原因。很抱歉,我没有让@JoopEggenAs与您正在分配的OP对立:
myString=myString.replaceAll…
。每一次尝试正则表达式的失败都可能源于没有登录myString。这是正确的@JoopEggen我在我的网站上编辑并添加了这些信息answer@Dvorog我在我的回答中添加了另一部分来回答您的问题:)