Java에서 정규 표현식을 사용하지 않고 문자열의 첫 번째 문자가 대문자인지 확인합니다.Java에서 문자열의 첫 번째 문자가 대문자인지 여부를 찾는 방법
답변
s
가정하면 비 비어 :
Character.isUpperCase(s.codePointAt(0));
할 수있는 많은 방법이있다 :
이Character.isUpperCase(s.charAt(0))
또는 divec에서 언급 한 바와 같이,이 U+FFFF
위의 코드 포인트와 문자를 작동하도록 그 중 가장 단순한 것으로 보이는 것은 다음과 같습니다.
boolean isUpperCase = Character.isUpperCase("My String".charAt(0));
수작업으로 직접 확인해야합니다. int a = s.charAt(0)
65 ~ 90 사이의 값은 대문자입니다.
사실, 이것은보기보다 미묘합니다.
위의 코드는 U + FFFF (예 : U + 1D4C3, MATHEMATICAL SCRIPT SMALL N)를 초과하는 소문자에 대해 잘못된 대답을 제공합니다. String.charAt는 UTF-16 서로 게이트 쌍을 반환합니다.이 쌍은 문자가 아닌 문자의 절반이므로 말할 수 있습니다. 따라서 String.codePointAt를 사용해야하는데, 이는 0xFFFF (char가 아닌) 이상의 int를 반환합니다. 당신은 할 것 :
Character.isUpperCase(s.codePointAt(0));는
나쁜이 간과 생각하지 마십시오 대부분의 Java 코더는 UTF-16을 잘못 처리합니다. 왜냐하면이 용어는 각 "문자"값이 문자를 나타내는 것이라고 오해하게 만듭니다. UTF-16은 거의 고정 된 너비이지만 상당히 빠르기 때문에 짜증납니다. 따라서 고정 폭이 아닌 가장자리 케이스는 테스트하지 않는 경향이 있습니다. 언젠가는 U + 1D4C3과 같은 문자가 들어있는 문서가 나오고 전체 시스템이 폭발적입니다.
String yourString = "yadayada";
if (Character.isUpperCase(yourString.charAt(0))) {
// print something
} else {
// print something else
}
우리는 구체적인 예를 들어뿐만 아니라
private static void findUppercaseFirstLetterInString(String content) {
Matcher m = Pattern
.compile("([a-z])([a-z]*)", Pattern.CASE_INSENSITIVE).matcher(
content);
System.out.println("Given input string : " + content);
while (m.find()) {
if (m.group(1).equals(m.group(1).toUpperCase())) {
System.out.println("First Letter Upper case match found :"
+ m.group());
}
}
}
정규 표현식을 사용하여 대문자를 찾을 수 있습니다. http://www.onlinecodegeek.com/2015/09/how-to-determines-if-string-starts-with.html
문자열이 비어 있는지 또는 null
인지 확인하는 것을 잊지 마십시오. null
또는 비어있는 것을 잊어 버린 경우 주어진 문자열이 null이거나 비어 있으면 NullPointerException
또는 StringIndexOutOfBoundException
이됩니다.
public class StartWithUpperCase{
public static void main(String[] args){
String str1 = ""; //StringIndexOfBoundException if
//empty checking not handled
String str2 = null; //NullPointerException if
//null checking is not handled.
String str3 = "Starts with upper case";
String str4 = "starts with lower case";
System.out.println(startWithUpperCase(str1)); //false
System.out.println(startWithUpperCase(str2)); //false
System.out.println(startWithUpperCase(str3)); //true
System.out.println(startWithUpperCase(str4)); //false
}
public static boolean startWithUpperCase(String givenString){
if(null == givenString || givenString.isEmpty()) return false;
else return (Character.isUpperCase(givenString.codePointAt(0)));
}
}
먼저 null인지 확인하고 비어 있는지 확인하고 10에서 기존 문자열을 상단으로 변환하십시오. Rabiz처럼 boolean 값을 출력하려면 S.O.P를 사용하십시오.
public static void main(String[] args)
{
System.out.println("Enter name");
Scanner kb = new Scanner (System.in);
String text = kb.next();
if (null == text || text.isEmpty())
{
System.out.println("Text empty");
}
else if (text.charAt(0) == (text.toUpperCase().charAt(0)))
{
System.out.println("First letter in word "+ text + " is upper case");
}
}
- 1. VBA. 문자열의 첫 번째 숫자의 위치를 찾는 방법
- 2. 문자열의 첫 번째 문자 확인
- 3. PHP : 문자열의 모든 문자가 대문자인지 어떻게 알 수 있습니까?
- 4. preg_match 문자열의 첫 번째 문자가 대문자 또는 소문자인지 확인하십시오.
- 5. NSString의 첫 번째 문자가 숫자인지 확인합니다.
- 6. 문자열의 다음 문자를 확인하는 것이 대문자인지 여부
- 7. PHP는 문자열의 첫 번째 발견
- 8. MySQL 첫 번째 문자열의 인덱스
- 9. C++ 문자열에서 첫 번째 문자를 찾는 방법
- 10. 첫 번째 문자가 지정된 단어 찾기 (Regex)
- 11. 문자열의 문자가 정수인지 알아내는 방법
- 12. 문자열이 다른 첫 번째 인덱스를 찾는 알고리즘?
- 13. PHP를 사용하여 문자열의 첫 번째 단어를 추출
- 14. WTSVirtualChannelRead 문자열의 첫 번째 문자 만 읽습니다.
- 15. 파일에서 문자열의 첫 번째 발생을 대체하십시오.
- 16. PHP로 문자열의 첫 번째 인스턴스를 삭제하십시오.
- 17. 문자열의 첫 번째 문자의 위치 찾기
- 18. 문자열의 첫 번째 x 단락을 반환하십시오.
- 19. 첫 번째 문자가 A-Z로 시작해야 함을 확인하는 방법
- 20. 문자열의 첫 번째 문자를 다른 문자열의 문자로 그룹화하십시오.
- 21. 첫 문자가 #
- 22. PHP에서 문자열의 첫 번째 문자를 소문자로 만드는 방법은 무엇입니까?
- 23. 첫 번째 유효한 이름을 찾는 효율적인 알고리즘
- 24. SQL을 사용하여 테이블에서 첫 번째 열과 첫 번째 행을 찾는 방법
- 25. Java에서 디렉토리의 첫 번째 파일 찾기
- 26. Java에서 입력 스트림의 첫 번째 부분을 읽습니다.
- 27. 문자열의 날짜 형식을 찾는 방법
- 28. WIN32에서 문자열의 너비를 찾는 방법
- 29. 벡터에서 첫 번째 중복 항목을 찾는 방법 - C++?
- 30. mysql 테이블에서 첫 번째 및 마지막 레코드를 찾는 방법
비 ASCII 문자는 어떤가요? – vitaut
@vitaut 당신은 ascii 문자 코드 처리만을위한 것이라고 정답입니다. –