code

대소 문자를 무시하는 문자열의 startsWith () 메소드

codestyles 2020. 8. 30. 08:40
반응형

대소 문자를 무시하는 문자열의 startsWith () 메소드


startsWith()방법 을 사용하고 싶지만 String케이스를 무시합니다.

String"Session"이 있고 startsWith"sEsSi"에서 사용 한다고 가정 하면 true.


테스트하기 전에 toUpperCase()또는 toLowerCase()사용 하여 문자열을 표준화하십시오.


한 가지 옵션은 둘 다 소문자 또는 대문자로 변환하는 것입니다.

"Session".toLowerCase().startsWith("sEsSi".toLowerCase());

이것은 잘못되었습니다. 참조 : https://stackoverflow.com/a/15518878/14731


또 다른 옵션은 String#regionMatches()대소 문자 구분 일치를 수행할지 여부를 나타내는 부울 인수 를 사용하는 메소드 를 사용 하는 것입니다. 다음과 같이 사용할 수 있습니다.

String haystack = "Session";
String needle = "sEsSi";
System.out.println(haystack.regionMatches(true, 0, needle, 0, 5));  // true

이 영역의 여부를 확인 needle지수 행 0까지의 길이 5에 존재하는 haystack인덱스에서 시작하는 0길이까지 5의 여부. 첫 번째 인수는 true대소 문자를 구분하지 않는 일치를 수행함을 의미합니다.


그리고 Regex 의 열렬한 팬이라면 다음과 같이 할 수 있습니다.

System.out.println(haystack.matches("(?i)" + Pattern.quote(needle) + ".*"));

(?i) 포함 된 플래그는 대소 문자 일치 무시를위한 것입니다.


myString.toLowerCase().startsWith(starting.toLowerCase());

이 시도,

String session = "Session";
if(session.toLowerCase().startsWith("sEsSi".toLowerCase()))

당신이 사용할 수있는 someString.toUpperCase().startsWith(someOtherString.toUpperCase())


당신은 항상 할 수 있습니다

"Session".toLowerCase().startsWith("sEsSi".toLowerCase());

start with 및 toLowerCase 함께 사용

이렇게

"Session".toLowerCase().startsWith("sEsSi".toLowerCase());

참고 URL : https://stackoverflow.com/questions/19154117/startswith-method-of-string-ignoring-case

반응형