将大写字母中的名称更改为使用Java键入大写字母的名称

时间:2011-06-07 13:27:11

标签: java string capitalization

让我们说我有大约一百行文本的大写字母。 我应该如何将每一行的单词更改为小写,只留下第一个字母为大写?

 TEXT ON FIST LINE
 TEXT ON SECOND LINE
 TEXT ON THIRD LINE

 Text On Fist Line
 Text On Second Line
 Text On Third Line

我在想这样的事情

 s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase()

但是使用StringBuilder可能更聪明,甚至可能比StringBuilder更好。

2 个答案:

答案 0 :(得分:2)

如果您不介意使用apache commons,可以使用WordUtils.capitalize()WordUtils.capitalizeFully()

答案 1 :(得分:0)

四个选项(实际上是5个,但一个是另一个的变体):

  1. 使用已处理的库 句型大写
  2. 拆分句子,然后将大写字母分成每个单词的第一个字母
  3. 正则表达空格+字母,并用大写版本替换图案的结尾
  4. 遍历字符串并在到达空格后大写
  5. #p,#4的变体,仍然在字符串中运行,但是作为二进制。这并不困难,但它会根据是ASCII还是Unicode而改变,并且可能因字符集而改变。

    如果您使用自定义例程执行此操作,请将其设置为可重复使用的类,因为我几乎可以保证您将再次使用它。