java 문자열 관련 함수들 정리
<java string>
1. 문자열 더하기
자바 문자열을 연결하는데는 + 연산자를 사용
String h = "Hello ";
String j = "Java!";
String text = h + j;
System.out.println(text);
결과) Hello Java!
StringBuilder sb = new StringBuilder();
sb.append("Hello ") .append("Java!");
System.out.println(sb.toString());
결과) Hello Java!
2. indexOf 로 문자열 인덱스값 찾기
int indexOf(int ch);
int indexOf(String str);
int lastIndexOf(int ch);
int lastIndexOf(String str) ;
indexOf : 특정 문자열이 앞에서부터 처음 발견된 값의 인덱스 값을 반환 없으면 -1반환
lastindexOf : 특정 문자열이 뒤에서부터 처음 발견된 값의 인덱스 값을 반환 없으면 -1반환
String str = new String("Hello world! low");
int index = 0;
index = str.indexOf('l');
System.out.println(index);
index = str.lastIndexOf('l');
System.out.println(index);
index = str.indexOf("lo"); //l위치가 리턴됨
System.out.println(index);
index = str.lastIndexOf("lo"); //l위치가 리턴됨
System.out.println(index);
결과) 2
13
3
13
3. substring으로 문자열 자르기
1)String substring(int index)
입력받은 인댁스 값부터 끝까지 뽑아서 반환
String str = "자바코딩배우기";
System.out.printIn(str2.substring(4));
결과) 배우기
1)String substring(int index1, int index2)
index1 인댁스 값부터 index2 인댁스 전까지 뽑아서 반환
String str = "자바는 재미있어요!";
System.out.printIn(str2.substring(2, 7));
결과) 는 재미있
4. trim으로 앞뒤 공백 제거
문자 중간의 공백은 제거 불가능
String str = " 문자열에 공백이 있습니다. ";
System.out.println(str);
str = str.trim();
System.out.println(str);
결과 : 문자열에 공백이 있습니다.
문자열에 공백이 있습니다.
5.String replace(char oldChar, char newChar)
1) replace
String a = "가나다가나다";
a= a.replace("가", "라");
System.out.println(a);
결과 : 라나다라나다
2) replaceAll
String a = "가나다가나다";
a= a.replaceAll("가", "라");
System.out.println(a);
결과 : 라나다라나다
Replace는 첫 번째 값으로 바꿀 문자열을 입력받는 대신
첫 번째 인자 값으로 정규식이 들어갑니다.
그래서 Replace는 특수문자로도 치환이 되는데 반하여
ReplaceAll은 특수문자로 치환이 어렵습니다.
String a = "가.나.다.";
a= a.replace(".", "/");
System.out.println(a);
a= a.replace(".", "/");
System.out.println(a);
결과 : 가/나/다/
//////
.(마침표)가 정규식으로 모든 문자를 의미하기 때문
3).replaceFirst
자신이 바꾸고 싶은 문자열이 처음으로 해당할 때만 치환
String a = "가나다가나다";
a= a.replace("가", "라");
System.out.println(a);
결과 : 라나다가나다
<그 밖 여러가지 String 메소드>
char charAt(int index)
지정된 인덱스의 한 문자를 반환합니다.
-int compareTo(String anotherString)
두 문자열의 사전적 우선 순위 비교 입니다.
-int compareToIgnoreCase(String str)
대소문자를 구분하지 않는 사전적 비교 입니다.
-boolean contains(CharSequence s)
문자열을 포함하고 있는지 확인합니다.
-boolean endsWith(String suffix)
문자열의 끝이 인자로 주어진 문자열인지 확인합니다.
-boolean equals(Object anObject)
같은 내용의 문자열인지 비교합니다.
-boolean equalsIgnoreCase(String anotherString)
대소문자를 구분하지 않고 비교합니다.
-byte[] getBytes()
플랫폼 기본 캐릭터셋으로 인코딩된 바이트 배열을 링크합니다.
-byte[] getBytes(String charsetName)
인자로 주어인 캐릭터 셋으로 인코딩된 바이트 배열을 반환합니다. 캐릭터셋을 변환하기 위해서 주로 사용되어 집니다.
-int indexOf(int ch)
인자로 주어진 문자가 있는 위치를 반환합니다. 없으면 음수를 반환합니다.
-boolean isEmpty()
빈문자열 인지 확인합니다.
-int lastIndexOf(int ch)
인자로 주어진 문자가 마지막으로 나타난 위치를 반환합니다. 없으면 음수를 반환합니다.
-int length()
문자열의 길이를 반환합니다.
-boolean matches(String regex)
인자로 주어진 정규식에 매치되는지 확인합니다.
-String replace(char oldChar, char newChar)
문자열에서 첫번째 인자의 문자를 두번째 인자의 문자로 바꿉니다.
-String replace(CharSequence target, CharSequence replacement)
문자열을 바꿉니다.
-String replaceAll(String regex, String replacement)
정규식을 사용하여 매치되는 문자열을 바꿉니다.
-String[] split(String regex)
정규식에 매치되는 부분을 구분자로 문자열을 분할 합니다.
-String[] split(String regex, int limit)
문자열 분할시 두번째 인자로 마지막 빈 요소 처리 및 분할할 갯수를 지정합니다.
-boolean startsWith(String prefix)
인자로 주어진 문자열로 시작하는지 확인합니다.
-String substring(int beginIndex)
문자열에서 인자로 주어인 인덱스 이후의 문자열을 추출합니다.
-String substring(int beginIndex, int endIndex)
인자로 주어진 인덱스 사이의 문자열을 반환합니다.
-String toLowerCase()
소문자로 변경합니다.
-String toUpperCase()
대문자로 변경합니다.
-String trim()
문자열 앞, 뒤의 whitespace를 제거합니다.
-static String valueOf(int i)
인자로 주어진 타를 타입의 데이터를 문자열로 변경하는 정적 메소드 입니다. 모든 원시 타입에 대해 오버로딩된 메소드가 있습니다.