티스토리 뷰
A. 텍스트에서 특정 문자열 찾기
코틀린
val str = "Kiu!Project!!"
val search = "!"
val indexOf1 = str.indexOf(search)
val indexOf2 = str.indexOf(search, 4)
val indexOf3 = str.lastIndexOf(search)
str.indexOf(search)
> 문자열 내에서 첫번째 특정 문자의 인덱스 반환
str.indexOf(search, 4)
> 문자열 내에서 4번째 문자열 이후 첫 특정 문자의 인덱스 반환
str.lastIndexOf(search)
> 문자열 내에서 마지막 특정 문자의 인덱스 반환
1) 문자열 비교하기
[boolean] .equals(Object anObject)
- 문자열 비교하여 동일하면 true
[boolean] .equalsIgnoreCase(String anotherString)
- 문자열 비교(대소문자 구분안함)하여 동일하면 true
2) 문자열에서 byte값 얻기 : 통신환경에서는 byte값을 많이 사용하게 된다.
[byte[]] .getBytes()
- 문자열에서 byte 배열을 얻는다.
[byte[]] .getBytes(String charsetName)
- 문자열에서 byte 배열을 원하는 charset으로 변환하여 얻는다.
3) 문자열 포함여부 찾기 : 포함여부 확인, 문자열을 자를 때 또는 특정부분만 이용하고자할 때 사용한다.
[int] .indexOf(int ch)
[int] .indexOf(String str)
- 문자열에서 ch/str의 처음 위치를 알려준다.
[int] .indexOf(int ch, int fromIndex)
[int] .indexOf(String str, int fromIndex)
- 문자열에서 fromIndex 이후 ch/str이 처음 존재하는 위치를 알려준다.
[int] .lastIndexOf : indexOf와 동일한 4가지 형이 있다.
- 문자열에서 ch/str의 마지막 위치를 알려준다.
[boolean] .matches(String regex)
- 문자열에서 정규식을 이용하여 문자포함여부를 알려준다.
[boolean] .startsWith(String prefix)
[boolean] .endsWith(String suffix)
- 문자열이 해당하는 문자열로 시작(끝)하는지 알려준다.
4) 문자열로 변환하기
[String] .valueOf(Object obj) : 문자열로 변환해줌.
5) 문자열 자르기
[String] .substring(int beginIndex) : beginIndex이후의 문자열을 반환함.
[String] .substring(int beginIndex, int endIndex) : 두 Index 사이의 문자열을 반환함.
- 문자열에서 원하는 만큼의 문자열을 잘라서 반환한다.
[String[]] .split(String regex)
[String[]] .split(String regex, int limit)
- 구분자를 이용해서 문자열을 나눈다.
B. Activity 에서 SpannableString 클래스를 사용해서 밑줄 추가하는 방법
자바
SpannableString content = new SpannableString(TextView.getText().toString());
// 저는이미 TextView 에 String 을 넣었기 때문에 위와 같이 TextView.getText().toString() 했음
content.setSpan(new UnderlineSpan(), 0, content.length(),0);
TextView.setText(content);
코틀린
val content = SpannableString(tvEditTime.text.toString())
content.setSpan(UnderlineSpan(), 0, content.length, 0)
tvEditTime.text = content
split() 함수
String colorPower = "red:orange:yellow:green";
String[] colorPowers = colorPower.split(":");
위와 같은 경우에서
colorPowers[0] == "red"
colorPowers[1] == "orange"
colorPowers[2] == "yellow"
colorPowers[3] == "green"
하지만 안드로이드에서 "*", ".", "$", 등등의
특정 특수문자에 대하여 이 함수가 작동하지 않는 것을 확인하였다.
이럴 땐 간단하게 앞에 \\를 붙혀주면 된다.
String colorPower = "red.orange.yellow.green";
String[] colorPowers = colorPower.split("\\.");
colorPowers[0] == "red"
colorPowers[1] == "orange"
colorPowers[2] == "yellow"
colorPowers[3] == "green"
replace() 함수
String colorPower = "red:ornage:yellow:green";
String colorPowerReplaced = colorPower.replace(":","|");
olorPowerReplaced = "red|orange|yellow|green";
'프로그래밍 > 안드로이드 앱프로그래밍' 카테고리의 다른 글
안드로이드에서 R.string 문자값 가져오기 (0) | 2024.01.16 |
---|---|
환경변수 등록하기 (0) | 2023.12.01 |
안드로이드 에디트텍스트 키보드다루기 (0) | 2023.07.26 |
Notification 알림메시지 구현하기 (0) | 2023.07.18 |
안드로이드 구글플레이스토어로 이동하기 소스 코드 (0) | 2023.06.26 |