javascript - 如果一个字符连续出现两次,是否可以只替换字符串中的一个字符?
问题描述
所以我做了一个方法,让任何字符串中所有单词的首字母大写。
String.prototype.toMyCase = function () {
let strArray = Array.from(this.split(" "));
for(let i=0; i<strArray.length; i++){
strArray[i] = strArray[i][0].toUpperCase() + strArray[i].substr(1);
}
let newStr = strArray.toString();
let finalStr = newStr.replace(/,/g, " ");
return finalStr;
};
问题是当我传递一个具有真正逗号(,)的字符串时,它也会在 finalStr 步骤中替换该逗号(,)。例如
console.log("How can mirrors be real, if our eyes aren't real".toMyCase();
给了我
如果我们的眼睛不真实,镜子怎么可能是真实的(真实之后有两个空格)。
解决方案
split()
在 string ,大写第一个字符之后使用这个单行解决方案怎么样,然后使用第一个连接其余.map()
的?,
let str = "How can mirrors be real, if our eyes aren't real";
let captialized_words = str => str.split(' ').map(w => w.substring(0, 1).toUpperCase() + w.substring(1)).join(' ')
console.log(captialized_words(str))
推荐阅读
- python - 未加载 Linux Mint 20 驱动程序中的 PyQt5、QPSQL
- angular - Angular Unit Test:如果构造函数将 Globals.ts 文件作为参数,如何创建组件实例
- flutter - 通过 NFC 获取信用卡详细信息。飞镖
- r - 复选框 Shiny R 的反应性 k 均值分析
- gensim - gensim - ConcatenatedDoc2Vec: ModuleNotFoundError: No module named 'testfixtures
- neo4j - apoc.merge.node() Neo4j 中的 Hanlde 空值
- sql - 查找每个薪资范围内工作经验最长的前 2 名员工
- python - 有没有一种快速的方法可以将这种类型的数据转换为 python 中的字典?
- python - 如何在 C++ 中创建一个返回向量的递归函数?
- aws-lambda - 无法通过邮递员使用带有两个参数的 url 查询将项目放入 dynamoDB