2 분 소요

String ▶ Array

split()

split() 함수는 java.lang.String 클래스에 있는 함수이다.

오라클 공식 문서에 나와있는 split()은 아래와 같다.

  • 클래스 : java.lang.String
  • 리턴 타입 : String[]
  • 메소드 : split​(String regex)
  • 설명 : 지정된 정규 표현식의 일치 항목을 기준으로 문자열을 분할한다.
String name = "Hello Java";
String[] nameArr = name.split("");

공백을 포함한 name 의 값이 ““를 기준으로 분할되어 nameArr에 저장된다.

nameArr[] = {"H", "e", "l", "l", "o", " ", "J", "A", "V", "A"}이다.

공식문서를 보면 분할 할 수 있는 개수를 정할 수 있는 것을 알 수 있다.


split(String regex, int limit)

limit개의 배열로 저장된다.

String num = "010-123-456-789";
String[] numArr = num.split("-", 3);

”-“ 를 기준으로 3개의 배열로 나누면

nameArr[] = {"010" , "123", 456-789"} 이다.



Array ▶ String

Arrays.toString()

오라클 공식 문서에 나와있는 toString()은 아래와 같다.

  • 클래스 : java.util.Arrays
  • 리턴 타입 : String
  • 메소드 : toString(Object[] a)
  • 설명 : 지정된 배열의 내용을 나타내는 문자열을 반환한다.
String[] name = {"경기", "서울", "부산", "제주"};
String nameStr = Arrays.toString(name);

nameStr을 출력해보면 결과는 아래와 같이 출력된다.

[경기, 서울, 부산, 제주]

toString()은 String으로 출력하고자 하는 배열의 값을 [값1, 값2, 값3, ···]의 형태로 출력하기 때문에, 네개의 값을 모두 이어 값1값2값3··· 로는 출력할 수 없다.


String.join()

오라클 공식 문서에 나와있는 join()은 아래와 같다.

  • 클래스 : java.lang.String
  • 리턴 타입 : static String
    • 타입이 static 이므로 인스턴스 객체를 생성하지 않고 바로 사용할 수 있다.
  • 메소드 : join​(CharSequence delimiter, CharSequence... elements)
  • 설명 : 지정된 delimiter 배열의 복사본과 결합된 elements의 복사본으로 구성된 새 문자열을 반환한다.
String[] name = {"경기", "서울", "부산", "제주"};
String nameStr = String.join(name, "");

name 배열의 값을 ““로 연결하여 nameStr에 저장한다는 뜻이다.

nameStr을 출력해보면 nameStr = 경기서울부산제주 로 출력된다.


원하면 join(name, " 그리고 ") 을 통해 다른 형태의 값으로 출력할 수 있다.

join(name, " 그리고 ")을 사용하면 nameStr = 경기 그리고 서울 그리고 부산 그리고 제주 로 출력된다.



String ▶ char[]

지금까지는 문자열을 문자열 배열로 바꾸는 방법을 알아보았다.

이제는 문자열을 하나하나 쪼개 char형 배열로 바꾸는 방법을 알아보자.


toCharArray()

toCharArray() 함수는 java.lang.String 클래스에 있는 함수이며, 원하는 문자열을 char[] 형 문자 배열로 반환한다.

String name = "Hello";
char[] charName = name.toCharArray();

위에서 charName[] 은

charName[] = {'H', 'e', 'l' , 'l', 'o'} 으로 반환된다.


split() 과 다른 점은 배열을 나누는 기준을 정할 수 없어 위처럼 char형의 값으로 하나씩 쪼개져 배열로 반환된다는 것이다.



char[] ▶ String

char형 배열을 String으로 변환할 수도 있다.

문자열을 분할하여 조건에 맞게 정렬하고, 정렬한 배열을 다시 문자열로 변환할 때 사용할 수 있다.


String 생성자

java.util.String 클래스의 생성자 중 String(char[] value) 를 통해 char 배열을 문자열로 변환할 수 있다.

생성자를 사용해 객체를 생성하면 된다.

char[] city = {'L', 'O', 'V', 'E'};
String cityName = new String(city);

위 결과 cityName = LOVE 가 된다.

댓글남기기