java 判断字符串首字母大写,非首字母小写代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 判断字符串首字母大写,非首字母小写代码相关的知识,希望对你有一定的参考价值。

楼上的有点多余了。
如果用正则的话,这行改一下:
String regex = "^[A-Z][a-z]+$";
改成:
String regex = "^[A-Z].*?";
就只管第一个字母是否大写,是大写就通过。。。。
还有个办法,
拿出string的第一个字母,判断ASCII码是否介于65-90之间,如果是,则表明首字母大写。追问

那非首字母小写的判断呢?不用吗?

追答

非首字母小写的话,你可以判断它是不是首字母小写就行了呗。
正则方法:
String regex = "[a-z].*?";
如果匹配成功,就表明它是小写开头。。。。
用ASCII判断:
首字母ASCII介于95-120之间的话,就是首字母小写。。。

追问

[a-z]说明是a-z中任意一个字符,.*匹配0到任意个字符,那这个?不是0或1一个吗?这个?是不是有点问题呀,不太懂呀!

追答

你理解的没错啊。。
[a-z]说明是a-z中任意一个字符,而且必须是第一位。
.的意思是匹配除了换行符以外的任何字符,*的意思是重复零次或多次,?的意思是零次或一次。

三个连起来就是除了换行符以外出现零次一次或多次都算。
你这个题里也就是除了首字母,其他的都不管了。

参考技术A 代码如下,供参考:
public class Test
public static void main(String[] arges)
String str = "Akdkdk";
String regex = "^[A-Z][a-z]+$"; // 正则表达式,判断首字母大写,非首字母小写
System.out.println(str.matches(regex));

参考技术B String str = "Bacal";
System.out.println(str.substring(0, 1).toCharArray()[0]);
if(str.substring(0, 1).toCharArray()[0]>='A'&&str.substring(0, 1).toCharArray()[0]<='Z')
System.out.println("1");
else
System.out.println("2");
参考技术C 截取字符串首字母判断是否是大写的:就是A到Z 参考技术D 先判断第一个字符charAt(0)是否在A-Z之间
在str.substring(1, str.length() - 1)进行同样判断

以上是关于java 判断字符串首字母大写,非首字母小写代码的主要内容,如果未能解决你的问题,请参考以下文章

java 首字母大写,其余小写的字符串正则表达式的判断

Java:判断一个字符串是不是是首字母大写,其余字母都是小写。 例如 输入:True 输出: true

java 如何判断字符串开头首字为字母且若大写自动更改为小写

java获得汉字的大写字母,其他字符不变

java编写类名首字母必须大写吗?

java 字母大小写问题