在我的Java应用程序中,两种情况下都需要使用相同的“目标”来查找索引和拆分字符串。目标只是一个点。
查找索引(通过indexOf和lastIndexOf)不使用正则表达式,因此
String target = ".";
String someString = "123.456";
int index = someString.indexOf(target); // index == 3
给我我需要的索引。
但是,我也想使用这个“目标”来分割一些字符串。但是现在目标字符串被解释为正则表达式字符串。因此,当我想分割字符串时,不能使用与以前相同的目标字符串...
String target = ".";
String someString = "123.456";
String[] someStringSplit = someString.split(target); // someStringSplit is an empty array
因此,我需要以下任何一项:
有人可以帮忙吗?您是否同意标准Java平台将正则表达式用于“ split”而不将正则表达式用于“ indexOf”似乎有点奇怪?
您需要转义“目标”才能将其用作正则表达式。尝试
String[] someStringSplit = someString.split(Pattern.quote(target));
让我知道是否有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句