감사합니다; text
이 String
이 아니거나 .replace()
이외의 다른 문자 (.replaceAll()
?) 또는 Android의 .replace()
이 버그입니다.
그리고 솔직히 Android 개발자가 그러한 간과를했는지 의심 스럽습니다.
Javadoc for String#replace()
말한다 :
지정된 리터럴 치환 순서 리터럴 표적 서열 일치하는 문자열의 각 부분 문자열을 대체. 정규 표현식에 사용합니까 [강조 광산]
의 형제 방법과는 달리
(.replaceFirst()
및 .replaceAll()
), .replace()
하지 않습니다 (내부적으로는 적어도 오라클의 JDK에, Pattern
를 사용 않는다는 사실은 [*]입니다 문제는 아닙니다.)
따라서 실제적으로 .replace()
을 사용하고 결과를 얻는다면 이것은 Android의 버그입니다. 이 경우, 같은 (테스트되지 않은), 대안을 시도 : 당신은 아마도 잘못된 코드를 게시 한
text=text.replaceAll(". ", "\n\n");
를 사용하는 경우
public static String realStringReplace(final String victim, final String target,
final String replacement)
{
final int skip = target.length();
final StringBuilder sb = new StringBuilder(victim.length());
String tmp = victim;
int index;
while (!tmp.isEmpty()) {
index = tmp.indexOf(target);
if (index == -1)
break;
sb.append(tmp.subString(0, index)).append(replacement);
tmp = tmp.subString(index + skip);
}
return sb.append(tmp).toString();
}
출처
2013-06-16 12:07:14
fge
시도 e. \로 기호. 나는 생각한다. – Lingviston
"각 줄에 단어의 마지막 글자가없는 모든 단어"<- non capisco niente ... 예제를 줄 수 있습니까? – fge
@Lingviston trap ...'.replace()'는 "형제", ".replaceFirst()"및 ".replaceAll()'do do – fge