반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- json
- windows
- Java
- input
- 정규식
- 이클립스
- 배열
- date
- js
- Button
- string
- Visual Studio Code
- table
- javascript
- Maven
- ArrayList
- Array
- 자바스크립트
- 문자열
- 인텔리제이
- CSS
- 자바
- IntelliJ
- Eclipse
- CMD
- vscode
- 테이블
- list
- html
- 이탈리아
Archives
- Today
- Total
어제 오늘 내일
[Java] 문자열의 마지막 개행문자 제거하기 본문
Java에서 문자열의 마지막 개행 문자 제거 하기
문자열의 마지막에 개행 문자(\n, \r, \r\n)가 포함되어 있을 경우 이를 제거하는 방법을 정리해보겠습니다.
1. replaceFirst()를 활용한 제거
public class RemoveLastNewLine {
public static void main(String[] args) {
String text = "Hello World\n";
// 마지막 개행 문자 제거
String result = text.replaceFirst("\n$", "").replaceFirst("\r$", "").replaceFirst("\r\n$", "");
System.out.println("[" + result + "]"); // [Hello World]
}
}
설명
- replaceFirst("\n$", "") → 마지막에 위치한 개행 문자(\n)를 제거
- replaceFirst("\r$", "") → 마지막에 위치한 캐리지 리턴(\r)을 제거
- replaceFirst("\r\n$", "") → 마지막에 위치한 \r\n 제거 (Windows 개행)
- 마지막에 같은 개행문자가 중복될 경우, 1개의 개행문자만 제거됩니다.
- Hello World\n\n -> Hello Word\n
- Hello World\n\r -> Hello World
2. 정규 표현식 활용 (replaceAll)
public class RemoveLastNewLineRegex {
public static void main(String[] args) {
String text = "Hello World\n";
// 정규식으로 마지막 개행 문자 제거
String result = text.replaceAll("[\n\r]+$", "");
System.out.println("[" + result + "]"); // [Hello World]
}
}
설명
- [\n\r]+$ : 문자열 끝($)에 위치한 개행 문자(\n 또는 \r)를 하나 이상(+) 제거
- 문자열의 마지막에 여러개의 개행문자가 있으면, 모두 제거됩니다.
3. substring()을 활용한 방법
public class RemoveLastNewLineSubstring {
public static void main(String[] args) {
String text = "Hello World\n";
// 마지막 문자가 개행 문자인지 확인 후 제거
if (text.endsWith("\n") || text.endsWith("\r")) {
text = text.substring(0, text.length() - 1);
}
System.out.println("[" + text + "]"); // [Hello World]
}
}
설명
- endsWith("\n") || endsWith("\r") → 마지막 문자가 개행 문자인지 확인
- substring(0, text.length() - 1) → 마지막 문자 제거
- 개행 문자가 여러 개일 경우 마지막 한 개만 제거합니다.
4. stripTrailing() (Java 11 이상)
public class RemoveLastNewLineJava11 {
public static void main(String[] args) {
String text = "Hello World\n";
// Java 11 이상에서 지원하는 메서드
String result = text.stripTrailing();
System.out.println("[" + result + "]"); // [Hello World]
}
}
설명
- stripTrailing() → 문자열 끝에 있는 공백 및 개행 문자 제거 (Java 11 이상에서만 사용 가능)
- 마지막에 있는 공백 문자도 같이 제거됩니다.
5. replaceAll("\\R+$", "") (모든 개행 문자 포함)
public class RemoveLastNewLineUniversal {
public static void main(String[] args) {
String text = "Hello World\n";
// 모든 플랫폼의 마지막 개행 문자 여러개 제거 (\n, \r, \r\n)
String result = text.replaceAll("\\R+$", "");
System.out.println("[" + result + "]"); // [Hello World]
}
}
설명
- \\R+S → 문자열 끝에서 1개 이상의 모든 개행 문자(\n, \r, \r\n)를 의미하는 정규 표현식
반응형
'IT > Java' 카테고리의 다른 글
[Java] Random 클래스 주요 메소드 및 사용법 (0) | 2025.03.17 |
---|---|
[Java] 문자열 줄바꿈(개행문자) 제거 (0) | 2025.03.15 |
[Java] StringBuffer 클래스 사용법 및 예제 (String, StringBuffer, StringBuilder 비교) (0) | 2025.03.14 |
[Java] StringBuilder 클래스 사용법 및 예제 (0) | 2025.03.13 |
[Java] 배열 선언 및 초기화 방법 (선언과 동시 초기화, 다차원 배열, Stream, 난수 초기화 등) (0) | 2025.03.12 |
Comments