我尝试使用String替换方法和正则表达式转换字符串。如何删除给定字符串中的下划线?
let string = 'court_order_state'
string = string.replace(/_([a-z])/g, (_, match) => match.toUpperCase())
console.log(string)
预期结果:
COURT ORDER STATE
答案 0 :(得分:3)
您可以使用JavaScript replace
函数,将其作为输入传递:
/_/g
作为searchvalue
参数(g
修饰符用于执行全局匹配, ie 查找所有匹配,而不是在第一个匹配之后停止) ;
(空白空间)作为newvalue
参数。
let string = 'court_order_state'
string = string.replace(/_/g, ' ').toUpperCase();
console.log(string);
答案 1 :(得分:1)
在您的代码中,您可以匹配和下划线或字符串(?:_|^)
的开头,以匹配第一个单词,并使用量词[a-z]+
匹配a + z 1倍以上
然后在每次调用UpCase之后添加一个空格。
let string = 'court_order_state';
string = string.replace(/(?:_|^)([a-z]+)/g, (m, g1) => g1.toUpperCase() + " ");
console.log(string)
答案 2 :(得分:0)
let string = 'court_order_____state'
string = string.replace(/_+/g, ' ').toUpperCase()
console.log(string)
答案 3 :(得分:0)
可以很简单,如下所示:
let string = 'court_order_state'
string = string.replace(/_/g, ' ').toUpperCase();
console.log(string);
这里的'g'代表全局,而'/'被我们所寻找的东西包围。
答案 4 :(得分:0)
您可以简单地将整个字符串转换为大写,然后将_替换为空格,而不是将每个_后面的第一个字符都变成大写(从您使用的正则表达式开始),而不用将它们替换为大写字母, >
let string = 'court_order_state';
string = string.toUpperCase().replace(/_+/g, " ");
console.log(string);