在我的
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平台使用正则表达式进行“拆分”而不使用正则表达式“indexOf”似乎有点奇怪?
解决方法
您需要逃避“目标”才能将其用作正则表达式.
尝试
尝试
String[] someStringSplit = someString.split(Pattern.quote(target));
如果有帮助,请告诉我.