大写字符串中的第一个字母[重复]
Posted
技术标签:
【中文标题】大写字符串中的第一个字母[重复]【英文标题】:Capitalise first letter in String [duplicate] 【发布时间】:2013-02-21 23:27:35 【问题描述】:我在将字符串中的第一个字母转换为大写字母时遇到问题:
rackingSystem.toLowerCase(); // has capitals in every word, so first convert all to lower case
StringBuilder rackingSystemSb = new StringBuilder();
rackingSystemSb.append(rackingSystem);
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0)));
rackingSystem = rackingSystemSb.toString();
这似乎不起作用..
有什么建议吗?
【问题讨论】:
【参考方案1】:尝试做:
rackingSystem = rackingSystem.toLowerCase();
代替:
rackingSystem.toLowerCase();
字符串是不可变的,你必须重新分配toLowerCase()
的结果。
不过更简单,(只要您的字符串大于长度 2):
rackingSystem = rackingSystem.substring(0,1).toUpperCase() + rackingSystem.substring(1).toLowerCase();
【讨论】:
public static String capitalize(String s) if(s == null) return null; if(s.length() == 1) return s.toUpperCase(); if(s.length() > 1) return s.substring(0,1).toUpperCase() + s.substring(1); return "";
【参考方案2】:
StringBuilder rackingSystemSb = new StringBuilder(rackingSystem.toLowerCase());
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0)));
rackingSystem = rackingSystemSb.toString();
【讨论】:
以上是关于大写字符串中的第一个字母[重复]的主要内容,如果未能解决你的问题,请参考以下文章