是否有一个内置于Java中的函数可以将String中每个单词的第一个字符大写,而不影响其他单词?
例子:
jon skeet - > Jon Skeetmiles o'Brien- > Miles O'Brien(B仍然是资本,这排除了标题案例)old mcdonald- > Old Mcdonald**(Old McDonald也会发现,但我不认为它那么聪明.)
就让我们来看看在Java的String文档仅揭示toUpperCase()和toLowerCase(),这当然不提供所需的行为.当然,谷歌的结果由这两个功能主导.它看起来像一个必须已经发明的轮子,所以它可以不会受到伤害,所以我可以在将来使用它.
我正在使用Java来获取String用户的输入.我试图使这个输入的第一个字母大写.
我试过这个:
String name;
BufferedReader br = new InputStreamReader(System.in);
String s1 = name.charAt(0).toUppercase());
System.out.println(s1 + name.substring(1));
Run Code Online (Sandbox Code Playgroud)
这导致了这些编译器错误:
类型不匹配:无法从InputStreamReader转换为BufferedReader
无法在基本类型char上调用toUppercase()
示例字符串
one thousand only
two hundred
twenty
seven
Run Code Online (Sandbox Code Playgroud)
如何更改大写字母中字符串的第一个字符而不更改任何其他字母的大小写?
改变之后应该是:
One thousand only
Two hundred
Twenty
Seven
Run Code Online (Sandbox Code Playgroud)
注意:我不想使用apache.commons.lang.WordUtils来执行此操作.
我想将字符串的第一个字母转换为大写字母.我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)
编译器错误是参数列表的长度不同.我认为这是因为缺少正则表达式,但我不知道究竟是什么.
我需要在xml本身中将text ="font roboto regular"更改为Font Roboto Regular,该怎么办?
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="18sp"
android:textColor="@android:color/black"
android:fontFamily="roboto-regular"
android:text="font roboto regular"
android:inputType="textCapWords"
android:capitalize="words"/>
Run Code Online (Sandbox Code Playgroud) 我有一个TextView.我试图将每个单词中的第一个字母大写.
这是TextView:
<TextView
android:text="TextView"
android:id="@+id/textView1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:textSize="30dip"
android:textStyle="bold"
android:layout_marginRight="5dip"
android:ellipsize="end"
android:capitalize="words">
</TextView>
Run Code Online (Sandbox Code Playgroud)
这是我添加文本的方式:
TextView titleView = (TextView) findViewById(R.id.textView1);
titleView.setText( section.replace("_", " ") );
Run Code Online (Sandbox Code Playgroud)
我是否可以动态添加文本并期望它可以大写单词?另一个特点是干扰android:capitalize?被android:capitalize打破?
谢谢你的回复.
在php中,该方法ucwords转换字符串中的任何字符串,其中每个单词的第一个字符是大写,而所有其他字符都是小写.
我总是最终制作自己的实现,我想知道是否存在标准方法.