문자열 조작은 프로그래밍하는 동안 가장 자주 수행됩니다. 문자열 텍스트 안이나 주위에 공백을 제거하는 것과 같습니다. 이것은 문자열의 공백을’스트립’이라고도 합니다. 그래서 지금까지 우리는 자바의 문자열에서 공백을 제거하는 여러 가지 방법을 모두 알고 있습니다. 그러나 자바 11 은 스트립,스트립 리드,스트립 트레일링과 같은 방법을 사용하여 이러한 방법을 새로 추가했습니다.
대부분의 시간,우리는 단지 공간을 제거하기 위해 트림 방법을 사용합니다. 우리는 결코 멈추지 않고 우리의 필요에 맞는 더 좋은 방법이있을 수 있다고 생각하지 않습니까? 물론,트림()은 대부분의 경우에 잘 작동하지만 자바에는 여러 가지 방법이 있습니다. 각각 자신의 장점과 단점을 가지고. 어떤 방법이 우리에게 가장 적합한 지 어떻게 결정합니까?
음,이 블로그에서 우리는 상세하게 다른 방법을 다룰 것이다.
- 트림():문자열에서 선행 및 후행 공백을 제거
- 스트립(): 문자열의 시작과 끝에 공백을 제거합니다. 문자열의 시작 부분에서만 공백을 제거합니다.
- 스트립 트레일링():문자열의 끝 부분에서만 공백을 제거합니다.
- 바꾸기():모든 대상 문자를 새 문자로 바꿉니다.
- 바꾸기():일치하는 모든 문자를 새 문자로 바꿉니다. 이 메서드는 정규 표현식을 입력으로 사용하여 대체해야 하는 대상 부분 문자열을 식별합니다.
- 모두 대 바꾸기:바꾸기 및 바꾸기 간의 차이점 모두 메서드
- 첫 번째():대상 부분 문자열의 첫 번째 항목만 새 대체 문자열로 바꿉니다.
자바의 문자열에서 공백을 제거하는 다른 방법
가장 중요한 점은 자바에서 문자열 객체가 불변이라는 것입니다. 그것은 우리가 문자열을 수정할 수 없다는 것을 의미하므로 모든 메소드는 모든 변환과 함께 새로운 문자열을 반환합니다.
트림()방법 자바
트림()는 선행 및 후행 공백을 제거하기 위해 자바 개발자가 가장 일반적으로 사용하는 방법입니다. 트림 메서드의 경우 공백 문자는 아스키 값이 32(‘유+0020’)보다 작거나 같은 문자를 의미합니다.
공백 제거 트림 방법의 예:
public class StringTrimTest { public static void main(String args) { String string = " String with space "; System.out.println("Before trim: \"" + string +"\""); System.out.println("After trim: \"" + string.trim() +"\""); }}
자바 11
자바 11 의 릴리스에서 새로운 스트립()방법은 문자열에서 선행 및 후행 공백을 제거하기 위해 추가되었습니다.
이 메서드는 아스키 값이 32 를 초과하는 유니코드 표준에 따라 다양한 공백 문자가 있기 때문에 추가되었습니다. 예:8193(우+2001).
이러한 공백 문자를 식별하기 위해,새로운 방법은 문자 클래스에서 자바 1.5 에서 추가되었다. 이 메서드는 유니코드를 사용하여 공백 문자를 식별합니다. 유니 코드 공백 문자에 대한 자세한 내용은 여기를 참조하십시오.
스트립 방법은 이 문자를 사용합니다.공백 문자의 넓은 범위를 커버 하 고 그들을 제거 하는 메서드입니다.
스트립의 예():
public class StringStripTest { public static void main(String args) { String string = " String with space "; System.out.println("Before strip: \"" + string+"\""); System.out.println("After strip: \"" + string.strip()+"\""); }}
에 CommandLineRunnerImpl
status=실행하는
Before strip: " String with space "After strip: "String with space"
차이 트리밍 및 스트립 방법에 java
trim() | 스트립() |
---|---|
에서 Java1 | 에서 Java11 |
사용하는 코드포인트(ASCII)값 | 유니코드를 사용하여 가치 |
을 제거 앞과 뒤의 문자(space) | 제거 앞과 뒤의 문자(공간) |
을 제거 문자는 ASCII 값보다 작거나 같’U+0020’또는’32’ | 유니코드에 따라 모든 공백 문자를 제거합니다. |
유니 코드 32(‘유+0020’)보다 높은 공백 문자를 사용할 예제를 살펴 보겠습니다.
public class StringTrimVsStripTest { public static void main(String args) { String string = '\u2001'+"String with space"+ '\u2001'; System.out.println("Before: \"" + string+"\""); System.out.println("After trim: \"" + string.trim()+"\""); System.out.println("After strip: \"" + string.strip()+"\""); }}
출력:
Before: " String with space "After trim: " String with space "After strip: "String with space"
위의 예에서 우리는 트림 방법은’\2001’유니 코드 문자에 의해 추가 된 공백 문자를 제거 할 수없는 것을 볼 수 있습니다.
참고:윈도우 컴퓨터에서 실행하는 경우,당신은 제한된 유니코드 세트로 인해 유사한 출력을 볼 수 없습니다. 온라인 컴파일러를 사용하여 프로그램을 실행할 수 있습니다. 일부 온라인 컴파일러 링크는 아래와 같습니다.: https://www.jdoodle.com/online-java-compiler/
자바-11: https://www.tutorialspoint.com/compile_java_online.php
문자열에서 모든 선행 공백을 제거합니다.
스트립 방법과 유사 스트립 리딩도 문자를 사용합니다.공백은 공백이 아닌 공백입니다.
public class StringStripLeadingTest { public static void main(String args) { String string = " String with space "; System.out.println("Before: \"" + string+"\""); System.out.println("After : \"" + string.stripLeading()+"\""); }}
출력:
Before: " String with space "After : "String with space "
자바 11 에 추가 된 스트립 트레일링()방법은 문자열에서 모든 끝 공백을 제거합니다.
스트립 방법과 유사 스트립 트레일링도 문자를 사용합니다.공백을 식별하는 데 사용됩니다.
public class StringStripTrailingTest { public static void main(String args) { String string = " String with space "; System.out.println("Before: \"" + string+"\""); System.out.println("After : \"" + string.stripTrailing()+"\""); }}
출력:
Before:" String with space "After :" String with space"
바꾸기(문자 순서 대상,문자 순서 교체):
자바 1.5 에서 추가 된이 방법은 각 대상 하위 문자열을 지정된 대체 문자열로 대체하는 데 사용됩니다.
이 방법은 일치하는 모든 대상 요소를 대체합니다.
참고:하나 더 메소드 교체(문자 올드 차,문자 뉴 차)자바 문자열 클래스에 존재한다. 유일한 차이점은 이 메서드가 단일 문자를 대상 및 대체로 사용한다는 것입니다. 우리는 빈 문자를 대체 할 수 없기 때문에이 방법을 사용하여 공백을 제거 할 수 없습니다.
문자열에서 모든 공백을 제거하는 예
public class StringReplaceTest { public static void main(String args) { String string = " String with space "; System.out.println("Before : \"" + string + "\""); System.out.println("Replace: \"" + string.replace(" ", "") + "\""); }}
출력:
Before : " String with space "Replace : "Stringwithspace"
자바 1.4 에 추가 된 모든(문자열 정규식,문자열 교체)
이 문자열 조작을위한 가장 강력한 방법 중 하나입니다. 우리는 많은 목적을 위해이 방법을 사용할 수 있습니다.
모두 바꾸기()메서드를 사용하여 일치하는 각 정규식 하위 문자열을 주어진 대체 문자열로 바꿀 수 있습니다. 예를 들어 모든 공백 제거,선행 공백 제거,후행 공백 제거 등이 있습니다.
올바른 대체 매개 변수로 올바른 정규 표현식을 작성하면됩니다. 아래와 같은 일부 정규 표현식 예제:
\에스+ | 모든 공간 찾기 |
^\에스+ | 줄 시작에서 모든 공백 찾기 |
\에스+$ | 줄 끝에서 모든 공백 찾기 |
문자열에서 공백을 대체하는 예,
참고:자바에서’/’를 추가하려면 이스케이프 문자를 사용해야합니다.+”
public class StringReplaceAllTest { public static void main(String args) { String string = " String with space "; System.out.println("Before replaceAll : \"" + string+"\""); System.out.println("Replace all space : \"" + string.replaceAll(" ", "") + "\""); System.out.println("Replace all regex : \"" + string.replaceAll("\s+", "") + "\""); System.out.println("Replace Leading : \"" + string.replaceAll("^\s+", "") + "\""); System.out.println("Replace trailing : \"" + string.replaceAll("\s+$", "") + "\""); }}
산출:
Before replaceAll : " String with space "Replace all space : "Stringwithspace"Replace all regex : "Stringwithspace"Replace Leading : "String with space "Replace trailing : " String with space"
우리가 볼 수 있듯이 대체 모두()는 적절한 정규 표현식과 함께 사용하면 매우 강력한 방법입니다.
모두 바꾸기와 바꾸기 방법의 차이점
모두 바꾸기() | 바꾸기() |
---|---|
자바 1.4 에서 | 자바 1 에서.5 |
대상 식별을 위한 정규식 허용 | 대상 식별을 위한 문자열 허용 |
수정 또는 동적 문자열 교체에 사용 | 수정 문자열 교체에 사용 |
유니코드에 따라 모든 공백 문자를 제거합니다. |
첫 번째 대체(문자열 정규식,문자열 대체)
자바 1 에 추가되었습니다.4,대체 첫 번째 방법은 주어진 정규 표현식의 첫 번째 일치 항목 만 대체 문자열로 대체합니다.
이 방법은 첫 번째 항목을 하나만 교체해야하는 경우 매우 유용 할 수 있습니다. 예를 들어 선행 공백을 제거해야하는 경우”\\에스+”또는”^\\에스+”를 사용할 수 있습니다.
우리는 또한”\\의+$”정규 표현식을 사용하여 후행 공백을 제거하려면이 방법을 사용할 수 있습니다. 이 표현식은 줄의 마지막 공백 만 일치하므로. 따라서 마지막 공백은 이 메서드의 첫 번째 일치 항목으로 간주됩니다.
public class StringReplaceFistTest { public static void main(String args) { String string = " String with space "; System.out.println("Before : \"" + string+"\""); System.out.println("Replace : \"" + string.replaceFirst("space", "update") + "\""); System.out.println("Leading : \"" + string.replaceFirst("\s+", "") + "\""); System.out.println("Trailing : \"" + string.replaceFirst("\s+$", "") + "\""); }}
출력
Before : " String with space "Replace : " String with update "Leading : "String with space "Trailing : " String with space"
고속 트랙 읽기 :
- 자바의 문자열에서 공백을 제거하는 방법에는 여러 가지가 있습니다
- 트림()은 문자열에서 공백을 제거하는 데 사용되는 가장 일반적인 방법입니다
- 트림 방법은 유니 코드를 인식하지 못하고 자바에서 공백 문자를 식별하기 위해 아스키 값을 사용합니다.그리고 그것은 특별히 다국어 경우에 공백을 제거하기 위해 사용되어야한다
- 자바 11 스트립 리딩()및 스트립 트레일링()과 같은 방법은 선행 및 후행 공백을 제거하기 위해 사용됩니다.
- 보다 통제 된 공백 제거를 위해 우리는 대체(),대체(),대체()를 사용할 수 있습니다.()