Javascript 如何使用正则表达式在字符串倒数第二个索引中插入特定字符

Javascript 如何使用正则表达式在字符串倒数第二个索引中插入特定字符,javascript,regex,Javascript,Regex,我想在字符串的倒数第二个索引中插入连字符- 我使用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; 但是我认为正则表达式更

我想在字符串的倒数第二个索引中插入连字符
-

我使用
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;

但是我认为正则表达式更干净,所以如何将此代码转换为正则表达式?

\w
将捕获任何单词字符,并且
$
选择该选择末尾的位置

$1
是对正则表达式中的选择的反向引用,在此之前我们添加了一个
-


console.log(“myString.replace(/(\w)$/,“-$1”)
\w
将捕获任何单词字符,并且
$
将选择该选择末尾的位置

$1
是对正则表达式中的选择的反向引用,在此之前我们添加了一个
-


console.log(“myString.replace(/(\w)$/,“-$1”))
这里有几个方法,有正则表达式的和没有正则表达式的。我不确定我是否同意正则表达式更干净,所以我将由你决定

话虽如此,使用
let size=str.length缓存长度是一种值得怀疑的做法。只需直接访问
.length
,这就消除了对
大小
所指内容的混淆,并避免了变量长度更改但忘记更新缓存副本时出现错误

const str=“mystring”;
常量连字符=`${str.slice(0,-1)}-${str.slice(-1)}`;

console.log(连字符)这里有几个方法,有正则表达式的和没有正则表达式的。我不确定我是否同意正则表达式更干净,所以我将由你决定

话虽如此,使用
let size=str.length缓存长度是一种值得怀疑的做法。只需直接访问
.length
,这就消除了对
大小
所指内容的混淆,并避免了变量长度更改但忘记更新缓存副本时出现错误

const str=“mystring”;
常量连字符=`${str.slice(0,-1)}-${str.slice(-1)}`;

console.log(连字符)第一个选项更好更干净!非常感谢您第一个选择更好更干净!多谢各位