자바 의 문자열 (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 분 넘 게 썼 다 니...............................................
잉 ~ 잘못 이 있 는 지 모 르 겠 지만, 사내 들 에 게 지적 을 청 하 다 니............................................
잉잉 ~

좋은 웹페이지 즐겨찾기