2017. 7. 2. 22:41
java 자바 문자열 관련 클래스 C. Java2017. 7. 2. 22:41
String 클래스
substr 과 substring 차이
문자열에서 특정 위치 안에 있는 문자열을 자르는 함수로 substr 과 substring 이 있다.
substr 과 substring 은 2개의 인자를 지정할 수 있다.
첫번째 인자는 전체 문자열에서 자를 위치를 지정한다.
두번째 인자는 반환할 문자열 갯수를 지정할 수 있는데,
substr은 지정한 문자열 인덱스부터 시작하여 반환할 문자열 갯수를 구하여 문자열을 리턴하지만,
substring은 지정한 문자열 인덱스부터 시작하여 전체 문자열에서 반환할 갯수를 구하여 문자열을 리턴한다.
시작 인덱스는 각각 0 부터 시작된다.
var Index = "0123456789";
Index.substr(2,4);
Index.substring(2,4);
substr 과 substring 은 각기 1개의 인자를 지정할 수도 있는데, 이 때는 시작문자열인덱스부터 문자열 전체 길이까지 구하여 문자열을 리턴한다. 그러므로 결과값 또한 같다.
var Index = "0123456789";
Index.substr(3);
Index.substring(3);
String 클래스로 객체 생성하는 방법 => 1. String str1 = "Java";
2. String str2 = new String("Java");
차이점 => String s1 = "Java";
String s2 = "Java";
s1==s2 -> true ("Java"가 메모리에 할당되고 s1과 s2 두레퍼런스가 가르키기때문에
두 값은 같다)
String tr1 = new String("Java");
String tr2 = new String("Java");
tr1 == tr2 -> false (객체가 생성되면 개별적인 공간에 할당되기 때문에..)
메소드 => lenth() :길이
equals() :내용비교
substring(int beginindex) :beginindex값부터 문자열마지막까지 문자열을 반환해준다.
concat(String str)
replace(char old, char new) :기존의 old로 표시된 모든 문자를 new로 표시된 문자로
모두 바꾸어준다.
모두 바꾸어준다.
toLowerCase(),toUpperCase()
indexOf(int ch) : 주어진 문자가 존재하는 위치를 알려줌. 없으면 -1을 되돌린다.
lastIndexOf(int ch) : '' 마지막위치를 알려줌. ''
trim() : 문자열의 시작과 끝 사이에 있는 공백을 없앤다.
StringBuffer 클래스
: String 클래스와 가장 큰 차이점은 메서드에 의해 처리된 결과를 저장할 문자열을 생성하는 것이
아니고 메모리상의 자신의 값이 수정된다는 점
: String 클래스와 가장 큰 차이점은 메서드에 의해 처리된 결과를 저장할 문자열을 생성하는 것이
아니고 메모리상의 자신의 값이 수정된다는 점
메소드 => length() : 스트링버퍼 클래스 객체에 저장된 문자의 수를 반환한다.
capacity() : 스트링버퍼 클래스 객체에 할당된 문자 배열의 크기를 반환한다.
append(String str) : str문자열을 스트링 버퍼에 추가한다.
insert (int offset, String str) : 정해진 위치에 str로 주어진 문자열을 추가한다.
toString() :
delete(int start, int end) : start부터 (end-1) 위치의 글자를 지운다.
deleteCharAt(int index) : index위치의 글자를 지운다.
replace(int start, int end, String str) : start부터 (end-1) 위치의 글자를 지우고
str 문자열을 끼워넣는다.
str 문자열을 끼워넣는다.
reverse() : 문자열의 순서를 뒤집는다.
ex) class test{
public static void main(String[] arg){
StringBuffer str01 = new StringBuffer();
str01.append("Java"); //현재 문자열에 끝에 첨부
str01.append("Programming"); //현재 문자열에 끝에 첨부
System.out.println("str01=" + str01.toString() );
str01.replace(0,4,"MFC"); //0~3사이의 내용을 MFC로 대체
String str02 = str01.substring(3); //지정한 위치부터 마지막 문자까지 반환
str01.deleteCharAt(0); //0번째 위치의 문자를 지운다.
str01.reverse(); //문자열의 순서를 뒤집는다.
}
}
StringTokenizer클래스
=> 문자열을 파싱(여러개의 문자열로 나누는 작업)하여 다양한 형태의 토큰을 처리할수 있다.
=> 문자열을 파싱(여러개의 문자열로 나누는 작업)하여 다양한 형태의 토큰을 처리할수 있다.
생성자 StringEokenizer(String str)
StringEokenizer(String str, String delimeters) str은 파싱문자열이며 delimeters는 토큰 분리자입니다.
메소드 countToken() //문자열에 있는 토큰의 개수 반환
hasMoreToken() //토큰이 있으면 true, 없으면 false값을 반환
nextToken() //다음토큰 문자열을 반환
nextToken(String delimiters) //delimiters토큰 분리자를 설정하고 다음 토큰 문자열 반환
ex) import java.util.*
class test{
punlic static void main(String[] arg){
StringTokenizer str = new StringTokenizer("도연#,혜수#지현#태희" , "#");
int cnt = srt.countTokens(); // 파싱된 문자열이 모두 몇개인지...
while(str.hasMoreToken()){ //토큰이 있으면
System.out.println(str.nextToken()); //차례대로 파싱된 문자열을 얻어온다.
}
}
}
'C. Java' 카테고리의 다른 글
java 자바 메소드 가변인자 알아보기 (0) | 2017.07.02 |
---|---|
java 자바 레퍼런스 형변환 instanceof 알아보기 (0) | 2017.07.02 |
자바 패키지 import (0) | 2017.07.02 |
익명 중첩 클래스 (0) | 2017.07.02 |
지역 중첩 클래스 (0) | 2017.07.02 |