자바 의 문자열 (1) - 끝 빈 칸 제거
3265 단어 Java
사실 그 전에 두 번 이나 블 로 그 를 쓰 려 고 했 는데, 한 번 은 CTF 를 하기 로 결 정 했 을 때, 한 번 은 ege 로 3 급 프로젝트 를 마 친 후, 시간 문제 로 지체 되 었 습 니 다 ~ ~
오늘 은 먼저 시작 하 겠 습 니 다. ege 그래 픽 라 이브 러 리 부분 은 사후에 보충 할 것 입 니 다. 이번 에는 절대 구덩이 에 넣 지 않 습 니 다.
본론 으로 들 어가 자바 의 문자열 에 대한 작업 을 간단하게 기록 합 니 다. 문자열 의 맨 끝 에 있 는 빈 칸 을 제거 합 니 다.
예: 알 고 있 는 문자열 " string ”,이 문자열 의 앞 뒤 에는 각각 두 개의 빈 칸 이 있 습 니 다. 현재 실현 해 야 할 기능 은 앞 뒤의 빈 칸 을 제거 하 는 것 입 니 다. 즉, "string" 을 출력 하 는 것 입 니 다.
방법 1: 자바 에 있 는 방법 활용
java. lang. String 에서 문자열 의 앞 뒤 공백 문 자 를 제거 하 는 방법 을 정 의 했 습 니 다: String trim ()
코드 는 다음 과 같 습 니 다:
public class String_D {
public static void main(String[] args) {
String str = " string ";
str = str.trim();
System.out.println(str);
}
}
출력 결과: string
방법 2: 자체 알고리즘 작성 실현
기 존의 방법 을 이용 하지 않 으 려 면 스스로 작은 알고리즘 을 써 서 이 기능 을 실현 할 수도 있다.
우선 자바 의 string 형식 이 밑 에 있 는 문자 배열 로 볼 수 있 고 length 속성 을 가지 고 있 으 며 색인 (아래 각 표) 을 통 해 문자열 의 단일 문자 에 위치 할 수 있 음 을 알 아야 합 니 다. 이와 관련 된 두 가지 방법 을 소개 합 니 다.
① char charAt (index) 지정 한 위치 에 있 는 문 자 를 되 돌려 줍 니 다.
예 를 들 어 다음 코드:
public class String_D {
public static void main(String[] args) {
String str = "abcdef";
System.out.println(str.charAt(2));
}
}
출력 결과: c
여기 서 주의해 야 할 것 은 밑 에 문자 배열 이 있 기 때문에 색인 은 0 에서 시 작 됩 니 다.
② String substring (int beginIndex) / string substring (int beginIndex, int endIndex) 은 beginIndex 에서 시 작 된 하위 문자열 (문자열) 을 되 돌려 줍 니 다. / beginIndex 부터 endIndex 까지 끝 난 하위 문자열 (문자열) 을 되 돌려 줍 니 다.
주의해 야 할 것 은 이 문자열 은 endIndex 비트 를 출력 하지 않 고 왼쪽 에서 닫 고 오른쪽 에서 열 립 니 다.
다음 코드 를 통 해 기본 적 인 용법 을 보 여 줍 니 다.
public class String_D {
public static void main(String[] args) {
String str = "abcdef";
System.out.println(str.substring(2));
System.out.println(str.substring(2,4));
}
}
출력 결 과 는:
cdef cd
이상 의 두 함 수 를 알 게 된 후에 우 리 는 간단 한 알고리즘 을 설계 할 수 있 습 니 다. 첫 번 째 문자열 을 제거 하려 면 첫 번 째 빈 칸 이 아 닌 문자 의 아래 각 표 지 를 각각 확인 하고 substring 으로 str 에 저장 하면 됩 니 다.
코드 는 다음 과 같 습 니 다:
public class String_D {
public static void main(String[] args) {
String str = " string ";
int beginIndex = 0;//
int endIndex = str.length()-1;// 0
while(beginIndex < endIndex && str.charAt(beginIndex) == ' ')
beginIndex ++;
while(beginIndex < endIndex && str.charAt (endIndex) == ' ')
endIndex --;
str = str.substring(beginIndex, endIndex+1);
System.out.println(str);
}
}
출력 결과: string
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
잉 ~ 처음 블 로 그 를 쓰 는데 너무 떨 려 요.
잉 ~ 이 정도 밖 에 안 되 는 걸 30 분 넘 게 썼 다 니...............................................
잉 ~ 잘못 이 있 는 지 모 르 겠 지만, 사내 들 에 게 지적 을 청 하 다 니............................................
잉잉 ~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.