如何使字符串的第一个字母大写,但不更改任何其他字母的大小写?
例如:
"this is a test"
→"This is a test"
"the Eiffel Tower"
→"The Eiffel Tower"
"/index.html"
"/index.html"
原文由 Robert Wills 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何使字符串的第一个字母大写,但不更改任何其他字母的大小写?
例如:
"this is a test"
→ "This is a test"
"the Eiffel Tower"
→ "The Eiffel Tower"
"/index.html"
"/index.html"
原文由 Robert Wills 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
基本解决方案是:
其他一些答案修改
String.prototype
(这个答案也曾经使用过),但由于可维护性,我现在建议不要这样做(很难找出函数被添加到prototype
如果其他代码使用相同的名称/浏览器将来添加具有相同名称的本机函数,则可能会导致冲突)。…然后,当您考虑国际化时,这个问题还有很多,正如 这个令人惊讶的好答案(埋在下面)所显示的那样。
如果你想使用 Unicode 代码点而不是代码单元(例如处理基本多语言平面之外的 Unicode 字符)你可以利用这个事实
String#[@iterator]
与代码点一起工作,你可以使用toLocaleUpperCase
获取区域设置正确的大写:有关更多国际化选项,请参阅 下面的原始答案。