我想在字符串的倒数第二个索引中插入连字符-
。
我使用substring()
在javascript中创建了一个有效的代码:
let str = "mystring";
let size = str.length;
let lastCaracter = str.substring(size - 1, size);
let newStr = str.substring(0, size - 1);
newStr = newStr + "-" + lastCaracter;
但是我认为使用正则表达式比较干净,那么如何将这段代码转换为正则表达式?
答案 0 :(得分:0)
\w
将捕获任何单词字符,而$
选择该选择结尾处的位置
$1
是对正则表达式中所选内容的反向引用,我们在此之前添加了-
console.log("myString".replace(/(\w)$/, "-$1"))
答案 1 :(得分:0)
这里有两种方法,带和不带正则表达式。我不确定我是否同意正则表达式更干净,所以我将由您自己决定。
话虽如此,用let size = str.length;
来缓存长度是一个有问题的做法。只需直接访问.length
,就可以避免混淆size
所指的内容,并避免在变量的长度更改但忘记更新缓存的副本时出错。
const str = "mystring";
const hyphenated = `${str.slice(0, -1)}-${str.slice(-1)}`;
console.log(hyphenated);
const str = "mystring";
const hyphenated = str.replace(/(.)$/, "-$1");
console.log(hyphenated);