자바 에서 replace 와 replace All 의 차이
1)replace 의 인 자 는 char 와 CharSequence 입 니 다.즉,문자 의 교 체 를 지원 할 수 있 고 문자열 의 교체 도 지원 합 니 다.
2)replaceAll 의 인 자 는 regex 입 니 다.즉,규칙 표현 식 을 기반 으로 하 는 교체 입 니 다.예 를 들 어 replaceAll("\\d","*")을 통 해 문자열 의 모든 숫자 문 자 를 별표 로 바 꿀 수 있 습 니 다.
같은 점 은 모두 바 뀌 는 것 입 니 다.즉,원본 문자열 의 특정한 문자 나 문자열 을 모두 지정 한 문자 나 문자열 로 바 꾸 는 것 입 니 다.처음 나타 난 것 만 바 꾸 려 면 replaceFirst()를 사용 할 수 있 습 니 다.이 방법 도 규칙 표현 식 을 기반 으로 바 꿀 수 있 지만 replaceAll()과 달리 처음 나타 난 문자열 만 바 꿀 수 있 습 니 다.
또한 replace All()과 replace First()가 사용 하 는 매개 변수 가 규칙 표현 식 에 기반 한 것 이 아니라면 replace()와 문자열 을 교체 하 는 효과 가 같 습 니 다.즉,이 두 가지 도 문자열 의 조작 을 지원 합 니 다.
또 한 가지 주의:교체 작업 을 실행 한 후 원본 문자열 의 내용 은 변경 되 지 않 았 습 니 다.
예 를 들 면 다음 과 같다.
String src = new String("ab43a2c43d");
System.out.println(src.replace("3","f"));=>ab4f2c4fd.
System.out.println(src.replace('3','f'));=>ab4f2c4fd.
System.out.println(src.replaceAll("\\d","f"));=>abffafcffd.
System.out.println(src.replaceAll("a","f"));=>fb43fc23d.
System.out.println(src.replaceFirst("\\d,"f"));=>abf32c43d
System.out.println(src.replaceFirst("4","h"));=>abh32c43d.
문자열 의"\"를"\\"로 바 꾸 는 방법:
String msgIn;
String msgOut;
msgOut=msgIn.replaceAll("\\\\",\\\\\\\\);
ps:그래도 될 것 같 습 니 다.msgIn=msgIn.replaceAll("\\\\\\\",\\\\\\\\\\\\\);
원인:
'\'는 자바 에서 전의 문자 이기 때문에 두 개 로 하 나 를 대표 해 야 합 니 다.예 를 들 어 System.out.println("\\");"\"하나만 출력 합 니 다.그러나'\'도 정규 표현 식 의 전의 문자(replace All 의 매개 변 수 는 정규 표현 식)이 므 로 두 개 로 하 나 를 대표 해 야 합 니 다.그래서\\\\\\는 자바 에서\\로,\\는 정규 표현 식 에서\로 바 뀌 었 다.
같다
CODE: \\\\\\\\
Java: \\\\
Regex: \\
문자열 의'/'를'\'로 바 꾸 는 몇 가지 방법:
msgOut= msgIn.replaceAll("/", "\\\\");
msgOut= msgIn.replace("/", "\\");
msgOut= msgIn.replace('/', '\\');
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.