Java 第一个字符到大写字母
可能重复:Java 第一个字符到大写字母,java,string,Java,String,可能重复: 我想把字符串的第一个字母转换成大写。我试图使用JavaDocs中描述的replaceFirst(),但我不知道正则表达式是什么意思 以下是我迄今为止尝试过的代码: public static String cap1stChar(String userIdea) { String betterIdea, userIdeaUC; char char1; userIdeaUC = userIdea.toUpperCase(); char1 = userI
我想把字符串的第一个字母转换成大写。我试图使用JavaDocs中描述的replaceFirst(),但我不知道正则表达式是什么意思 以下是我迄今为止尝试过的代码:
public static String cap1stChar(String userIdea)
{
String betterIdea, userIdeaUC;
char char1;
userIdeaUC = userIdea.toUpperCase();
char1 = userIdeaUC.charAt(0);
betterIdea = userIdea.replaceFirst(char1);
return betterIdea;
}//end cap1stChar
编译器错误在于参数列表的长度不同。我想这是因为正则表达式丢失了,但是我不知道它到底是什么
userIdeaUC = userIdea.substring(0, 1).toUpperCase() + userIdea.length() > 1 ? userIdea.substring(1) : "";
或
或者你可以
s = Character.toUpperCase(s.charAt(0)) + s.substring(1);
(缩写为“regex”或“regex”)是定义搜索模式的字符串
replaceFirst()
所做的是使用参数中提供的正则表达式,并将搜索的第一个结果替换为作为其他参数传入的任何结果
您要做的是使用string
class'方法将字符串转换为数组,然后使用Character.toUpperCase()
将字符更改为大写(显然)。您的代码如下所示:
char first = Character.toUpperCase(userIdea.charAt(0));
betterIdea = first + userIdea.substring(1);
或者,如果您对更复杂的单行java代码感到满意:
betterIdea = Character.toUpperCase(userIdea.charAt(0)) + userIdea.substring(1);
两者的作用相同,即将
userIdea
的第一个字符转换为大写字符。为完整起见,如果您想使用replaceFirst,请尝试以下操作:
public static String cap1stChar(String userIdea)
{
String betterIdea = userIdea;
if (userIdea.length() > 0)
{
String first = userIdea.substring(0,1);
betterIdea = userIdea.replaceFirst(first, first.toUpperCase());
}
return betterIdea;
}//end cap1stChar
Comalization错误是由于未正确提供参数,replaceFirst接受regx作为初始参数。[a-z]{1}将匹配长度为1的简单字母字符字符串 试试这个
betterIdea = userIdea.replaceFirst("[a-z]{1}", userIdea.substring(0,1).toUpperCase())
String s=“这是一个字符串”;s=s.substring(0,1).toUpperCase()+s.substring(1)代码>您可能需要检查以下方法:可能需要删除三元表达式以使Matt B可读。不适用于短于两个字符的字符串。@Thilo:是,它适用于长度为1的字符串。为什么任何人都希望获得空字符串的第一个字符的大写等效值?可能是那些不希望自己的程序因意外的空字符串而崩溃的人;-)@Dominik你是说“意外的空字符串”吗?null
是一种不同的情况。userIdea.toCharArray()[0]
是一种昂贵的方式来执行userIdea.charAt(0)
@PeterLawrey我不知道我是怎么忘记的。Thank.StringBuilder类是一个很好的伴侣,假设名称是字符串而不是代码=>if(name.length()>0){StringBuilder StringBuilder=new StringBuilder(name);if(StringBuilder.length()==1){name=String.valueOf(Character.toUpperCase(StringBuilder.charAt(0));}else{name=String.valueOf(Character.toUpperCase(stringBuilder.charAt(0))+stringBuilder.substring(1);}
public static String cap1stChar(String userIdea)
{
String betterIdea = userIdea;
if (userIdea.length() > 0)
{
String first = userIdea.substring(0,1);
betterIdea = userIdea.replaceFirst(first, first.toUpperCase());
}
return betterIdea;
}//end cap1stChar
betterIdea = userIdea.replaceFirst("[a-z]{1}", userIdea.substring(0,1).toUpperCase())
String toCamelCase(String string) {
StringBuffer sb = new StringBuffer(string);
sb.replace(0, 1, string.substring(0, 1).toUpperCase());
return sb.toString();
}