java – 使用replace all的字符串索引超出范围
发布时间:2020-12-15 04:23:45 所属栏目:Java 来源:网络整理
导读:如何替换包围的mapDir?到一定的字符串? String mapDir = "D:mappingspecialiststs_gpc"; String test = "foo: mapDir -bar"; println(test.replaceAll("mapDir",mapDir)); 上面给出了一个StringIndexOutOfBoundsException. 以下代码对我来说,但我
如何替换<>包围的mapDir?到一定的字符串?
String mapDir = "D:mappingspecialiststs_gpc"; String test = "foo: <mapDir> -bar"; println(test.replaceAll("<mapDir>",mapDir)); 上面给出了一个StringIndexOutOfBoundsException. 以下代码对我来说,但我认为纯java也必须正常工作. static String replaceWord(String original,String find,String replacement) { int i = original.indexOf(find); if (i < 0) { return original; // return original if 'find' is not in it. } String partBefore = original.substring(0,i); String partAfter = original.substring(i + find.length()); return partBefore + replacement + partAfter; } 解决方法
你不需要replaceAll方法,因为你没有使用正则表达式.相反,你可以使用如下的替换api:
String mapDir = "D:mappingspecialiststs_gpc"; String test = "foo: <mapDir> -bar"; System.out.println(test.replace("<mapDir>",mapDir)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |