문제는 다음과 같다.
두 번째부터 있는 del을 지우자!
public String delDel(String str) {
if(str.length()<=3)
return str;
// 3글자 이하인 경우 두 번째부터 del이 없기 때문에 str을 반환한다.
if(!str.substring(1,4).equals("del"))
return str;
//
String array[] = str.split("del");
if(array.length == 1)
return array[0];
else
return array[0] + array[1];
}
public String delDel(String str) {
if (str.length()>=4 && str.substring(1, 4).equals("del")) {
return str.substring(0, 1) + str.substring(4);
}
return str;
}
String의 자르기 substring
substing은 문자열을 파싱하는 메서드이다.
인덱스를 기준으로 매개변수로 주어진 인덱스의 문자열을 반환한다.
"hamburger".substring(4, 8) returns "urge"
"hamburger".substring(8) returns "urger"
String의 비교 equals
equals는 object의 내용을 비교하는 메서드로 string 인스턴스 끼리의 내용을 비교한다.
str1.equals(str2) : false
str2.equals(str1) : false
str1.equals(str3) : true
'==' 를 사용하면 되는거 아니야?
equals는 object의 내용 자체를 비교한다.
== 연산자는 object의 주소값을 비교한다.
String의 나누기 split
split는 주어진 매개변수를 기준으로 문자열을 쪼개서 리스트 형식으로 반환한다.
String str = "emample";
str.split("e") returns [mample]
str.split("m") returns [e, a, ple]