首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中,如何在不使用正则表达式情况下查找字符串的第一个字符是否为大写

在Java中,如何在不使用正则表达式情况下查找字符串的第一个字符是否为大写
EN

Stack Overflow用户
提问于 2010-12-16 01:25:43
回答 7查看 143K关注 0票数 69

在Java中,在不使用正则表达式的情况下查找字符串中的第一个字符是否为大写。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-12-16 01:28:22

假设s不为空:

代码语言:javascript
复制
Character.isUpperCase(s.charAt(0))

或者,正如divec所提到的,使其适用于码位高于U+FFFF的字符。

代码语言:javascript
复制
Character.isUpperCase(s.codePointAt(0));
票数 128
EN

Stack Overflow用户

发布于 2010-12-16 01:28:47

有很多方法可以做到这一点,但最简单的方法似乎是以下一种:

代码语言:javascript
复制
boolean isUpperCase = Character.isUpperCase("My String".charAt(0));
票数 5
EN

Stack Overflow用户

发布于 2015-09-06 23:38:38

不要忘记检查字符串是否为空或null。如果我们忘记检查null或empty,那么如果给定的字符串为null或empty,我们将得到NullPointerExceptionStringIndexOutOfBoundException

代码语言:javascript
复制
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) ) );
        }

    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4452939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档