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我在我的回答中添加了另一部分来回答您的问题:)