StringUtils(SubString, Right/Left/Mid) -문자열 처리 클래스

2020. 1. 27. 21:48 JAVA/Java

- org.apache.commons.lang3.StringUtils




==================== Substring


* StringUtils.substring(String str, int start)

- str의 문자열을 start 위치부터 출력한다.

- 음수는 뒤에서부터 출력한다.

- str이 null이면 return값은 null이다.


StringUtils.substring(null, *) = null

StringUtils.substring("", *) = ""

StringUtils.substring("abc", 0) = "abc"

StringUtils.substring("abc", 2) = "c"

StringUtils.substring("abc", 4) = ""

StringUtils.substring("abc", -2) = "bc"

StringUtils.substring("abc", -4) = "abc"




* StringUtils.substring(String str, int start, int end)

str의 문자열을 start 위치부터 end 위치까지 출력한다.

- 음수는 뒤에서부터 출력한다.

- str이 null이면 return 값은 null이다.


StringUtils.substring(null, *, *) = null

StringUtils.substring("", *, *) = ""

StringUtils.substring("abc", 0, 2) = "ab"

StringUtils.substring("abc", 2, 0) = ""

StringUtils.substring("abc", 2, 4) = "c"

StringUtils.substring("abc", 4, 6) = ""

StringUtils.substring("abc", -2, -1) = "b"

StringUtils.substring("abc", -4, 2) = "ab"





==================== SubstringAfter / SubstringBefore



* StringUtils.substringBefore(String str, String separator)

- str문자를 separator문자 이전문자를 출력한다.


StringUtils.substringBefore(null, *) = null

StringUtils.substringBefore("", *) = ""

StringUtils.substringBefore("abc", "a") = ""

StringUtils.substringBefore("abcba", "b") = "a"

StringUtils.substringBefore("abc", "c") = "ab"

StringUtils.substringBefore("abc", "d") = "abc"

StringUtils.substringBefore("abc", "") = ""

StringUtils.substringBefore("abc", null) = "abc"




* StringUtils.substringAfter(String str, String separator)

str문자를 separator문자 이전문자를 출력한다.


StringUtils.substringAfter(null, *) = null

StringUtils.substringAfter("", *) = ""

StringUtils.substringAfter(*, null) = ""

StringUtils.substringAfter("abc", "a") = "bc"

StringUtils.substringAfter("abcba", "b") = "cba"

StringUtils.substringAfter("abc", "c") = ""

StringUtils.substringAfter("abc", "d") = ""

StringUtils.substringAfter("abc", "") = "abc"



* StringUtils.substringBeforeAfter(String str, String separator)

str문자에서 separator문자의 젤 마지막 위치 이전의 값을 출력한다.


StringUtils.substringBeforeLast(null, *) = null

StringUtils.substringBeforeLast("", *) = ""

StringUtils.substringBeforeLast("abcba", "b") = "abc"

StringUtils.substringBeforeLast("abc", "c") = "ab"

StringUtils.substringBeforeLast("a", "a") = ""

StringUtils.substringBeforeLast("a", "z") = "a"

StringUtils.substringBeforeLast("a", null) = "a"

StringUtils.substringBeforeLast("a", "") = "a"




* StringUtils.substringAfterLast(String str, String separator)

str문자에서 separator문자의 젤 마지막 위치 이후의 값을 출력한다.


StringUtils.substringAfterLast(null, *) = null

StringUtils.substringAfterLast("", *) = ""

StringUtils.substringAfterLast(*, "") = ""

StringUtils.substringAfterLast(*, null) = ""

StringUtils.substringAfterLast("abc", "a") = "bc"

StringUtils.substringAfterLast("abcba", "b") = "a"

StringUtils.substringAfterLast("abc", "c") = ""

StringUtils.substringAfterLast("a", "a") = ""

StringUtils.substringAfterLast("a", "z") = ""





==================== SubstringBetween



* StringUtils.substringBetween(String str, String tag)

str에서 tag와 tag 사이의 문자를 출력한다.

- str or tag가 null이면 null값을 리턴한다.


StringUtils.substringBetween(null, *) = null

StringUtils.substringBetween("", "") = ""

StringUtils.substringBetween("", "tag") = null

StringUtils.substringBetween("tagabctag", null) = null

StringUtils.substringBetween("tagabctag", "") = ""

StringUtils.substringBetween("tagabctag", "tag") = "abc"




* StringUtils.substringBetween(String str, String open, String close)

str에서 open과 close 사이의 문자를 출력한다.

- str 또는 open 또는 close가 null이면 null값을 리턴한다.


StringUtils.substringBetween("wx[b]yz", "[", "]") = "b"

StringUtils.substringBetween(null, *, *) = null StringUtils.substringBetween(*, null, *) = null StringUtils.substringBetween(*, *, null) = null StringUtils.substringBetween("", "", "") = "" StringUtils.substringBetween("", "", "]") = null StringUtils.substringBetween("", "[", "]") = null StringUtils.substringBetween("yabcz", "", "") = "" StringUtils.substringBetween("yabcz", "y", "z") = "abc" StringUtils.substringBetween("yabczyabcz", "y", "z") = "abc"







==================== Left/Right/Mid




* StringUtils.left(String str, int len)

str문자열을 len의 길이만큼 왼쪽부터 출력한다.

- str이 null이면 return값은 null이다.


StringUtils.left(null, *) = null StringUtils.left(*, -ve) = "" StringUtils.left("", *) = "" StringUtils.left("abc", 0) = "" StringUtils.left("abc", 2) = "ab" StringUtils.left("abc", 4) = "abc"




* StringUtils.right(String str, int len)

str문자열을 len의 길이만큼 오른쪽부터 출력한다.

- str이 null이면 return값은 null이다.


StringUtils.right(null, *) = null

StringUtils.right(*, -ve) = "" StringUtils.right("", *) = "" StringUtils.right("abc", 0) = "" StringUtils.right("abc", 2) = "bc" StringUtils.right("abc", 4) = "abc"




* StringUtils.mid(String str, int pos, int len)

str문자열을 pos의 위치부터 len길이만큼 출력한다.

- pos가 음수이면 처음부터시작한다.

- str이 null이면 return값은 null이다.


StringUtils.mid(null, *, *) = null StringUtils.mid(*, *, -ve) = "" StringUtils.mid("", 0, *) = "" StringUtils.mid("abc", 0, 2) = "ab" StringUtils.mid("abc", 0, 4) = "abc" StringUtils.mid("abc", 2, 4) = "c" StringUtils.mid("abc", 4, 2) = "" StringUtils.mid("abc", -2, 2) = "ab"



출처: https://hahaha2016.tistory.com/31?category=985860 [으랏차차]