<으로 둘러싸인 mapDir을 특정 문자열로 대체하려면 어떻게해야합니까?문자열 인덱스가 모두 바뀌며 범위를 벗어남
String mapDir = "D:\\mapping\\specialists\\ts_gpc\\";
String test = "foo: <mapDir> -bar";
println(test.replaceAll("<mapDir>", mapDir));
위의 내용은 StringIndexOutOfBoundsException을 제공합니다.
나를 위해 아래의이 코드는,하지만 난 순수 자바뿐만 아니라 작동 생각합니다.
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;
}
을, 그것은 정규식이므로. –
이 게시물을 확인하십시오. http://stackoverflow.com/questions/18875852/why-string-replaceall-in-java-requires-4-slashes-in-regex-to-actually-r/ – gashu