특정 문자열이 특정 문자열에 포함되어 있는지 알아내기

By | 8월 13, 2008

JDK 1.5 에서는 String의 contains() 라는 메서드를 통해서 이를 해결할 수 있었지만,

JDK 1.4 이하에서는 API 에 없어서 사용할 수가 없었다.

그래서 생각한 꽁수가, 긴 문자열A 에 B가 포함된다고 가정했을 때,

문자열 A의 길이만큼 루프를 돌리면서 그 안에 문자열B와 같은형태의 연속된 캐릭터배열의 형태가 있는지,

있으면 그 시작점 i 가 몇인지 알아보는 방식이었다. 결과는 성공이었지만 왠지 좀 찜찜했었는데...

더 좋은 방법이 있다는 것을 알았다.

바로 String 클래스의 indexOf() 메서드의 인자로 문자열이 들어갈 수 있다는 것이었다.

인자로 문자열을 넣으면, 그 문자열이 포함될 경우 그 시작점을 리턴해 주는 것을 확인할 수 있었다.

그래서 boolean 을 얻고자 한다면,

A.indexOf(B) != -1

뭐 이런 형식으로 사용할 수 있는 것 같다.^^

혼자만의 상상력은 한계가 있는 법.. 역시 다른 사람의 코드를 많이 봐야 한다! ^^;

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments