String 다루기 - indexOf(기본)
String 다루기
indexOf(기본)
ㆍ indexOf(String str)
ㆍ indexOf(int ch)
ㆍ indexOf(int ch, int fromIndex)
ㆍ indexOf(String str, int fromIndex)
자바 처음 시작할때
예제들 풀면서
참 많이 사용했던
indexOf
그때 이후로
필요할때만 사용하고
정리해본 기억이
없어서 한번 써보려합니다.
오늘은 일단 기본인
사용방법 정도만..
아마 이것만 봤을때는
이걸 어디다가 써?
생각할 수 있지만..
나중에 다른 String을
다루는 메서드와 결합하면
엄청엄청난 효율성을
보장받을 수 있습니다
(+ 정규표현식)
안드로이드 스튜디오가
사용하기 편해서
안스환경에서
진행해보도록 하겠습니다.
어짜피 Log로 찍을꺼니
똑같을듯..
indexOf(int ch)
가장 기본적인 형태부터
보겠습니다.
indexOf는
문자열에서 위치를
찾아주는 역할을 합니다
위치!
이게 엄청 중요하죠
예를 들어
Hello World!
라는 문자열은
각 글자 하나하나마다
포지션이 정해져있습니다
이런 식으로 0번부터
시작됩니다.
공백도 한자리
차지한다는
점을 잊지 말아야 합니다.
indexOf는
위와 같은 글자에서
숫자를 뽑아주는 역할이죠
W를 위치를 알려 줘!
indexOf("W");
d의 위치를 알려 줘!
indexOf("d");
코드로 똑같이
써보면 위치를
알 수 있습니다.
String str = "Hello World";
Log.d("ITPANGPANG","결과=>"+str.indexOf("W"));
Log.d("ITPANGPANG","결과=>"+str.indexOf("d"));
이렇게
사용하면 됩니다
indexOf(String str)
위와 다를것이 없습니다.
다만 만약에 한글자가 아닌
Hello의 위치를 찾아 줘!
indexOf("Hello");
World의 위치를 찾아 줘!
indexOf("World");
이런식으로 String형태로
적어주게 되면 어떤결과가
나올까요?
String str = "Hello World";
Log.d("ITPANGPANG","결과=>"+str.indexOf("Hello"));
Log.d("ITPANGPANG","결과=>"+str.indexOf("World"));
결과를 보면
0 = H
6 = W
즉, String 형태로 넣어주면
문자열의 시작인
첫번째 글자의 위치를
찾아주게 됩니다
indexOf(int ch, int fromIndex)
자 이번에는
indexOf에 인자 2개를
넣어줘야 되네요
첫번째 ch는 알겠으나
두번째 fromIndex가
무엇인가 하면
어떨때 쓰는지
한번 예를 들어 보면
Hello World
가 아닌
Hello World Hello World
이렇게 되있다고 가정했을때
H를 찾기 위해서는
위에서 썼던것처럼
indexOf("H");
쓰겠죠
그렇다면 결과는 0이 나옵니다
첫번째 H를 찾는거죠!
그런데 만약 2번째
Hello World에서의 H를
찾고싶다면??
위에서 썼던 방법으로는
찾을수가 없습니다.
그래서 fromIndex를
추가해줍니다
indexOf("H",2);
이라고 적어준다면
이렇게
위치가 2인
l부터 찾아주게 됩니다.
코드로 돌려보면
String str = "Hello World Hello World";
Log.d("ITPANGPANG","결과=>"+str.indexOf('H', 2));
결과를 보니
앞에나오는
H = 0
이 아닌 두번째 Hello World가
시작하는
H = 12
를 찾은 것을 확인 할 수 있습니다
indexOf(String str, int fromIndex)
역시 동일합니다.
String str = "today to too metoo";
Log.d("ITPANGPANG","결과=>"+str.indexOf("to", 2));
to를 찾는데
fromIndex값으로 2를 넣어줌으로써
첫번째 today의 to가 아닌
6번째 위치에서 시작하는 to
를 찾았습니다
Hello World에서
today to too metoo
로 바꾼 이유는
지금은
today to too metoo
이렇게 to가 다 걸쳐있지만
뒤에서는 to만 정확히
일치하는 문자열만
찾는 방법도 알아볼 것이기
때문에 한번 써봤습니다.
'안드로이드(android) > String 다루기' 카테고리의 다른 글
String 다루기(3) - matches, regex (1) | 2016.10.24 |
---|---|
String 다루기(2) - substring(), indexOf() (0) | 2016.10.22 |