Javascript 字符串操作-将每个单词用引号括起来,方括号除外

Javascript 字符串操作-将每个单词用引号括起来,方括号除外,javascript,Javascript,我需要在JavaScript中转换一个字符串,并将其中的每个单词都用引号括起来。字符串中的每个单词用分隔符分隔。 字符串中的结构和字数可能会有所不同,并出现以下变化,如: “abc.cde.fgi”或“abc.cde.fgi[0]”、“abc.cde[0].fgi.xyz”、“abc.cde[1].fgi.xyz”等 转换结果应为: “abc.cde.fgi”->“abc.cde.fgi” “abc.cde.fgi[0]”->“abc.cde.fgi[0]” 'abc.cde[1].fgi.xy

我需要在JavaScript中转换一个字符串,并将其中的每个单词都用引号括起来。字符串中的每个单词用分隔符分隔。 字符串中的结构和字数可能会有所不同,并出现以下变化,如: “abc.cde.fgi”或“abc.cde.fgi[0]”、“abc.cde[0].fgi.xyz”、“abc.cde[1].fgi.xyz”等

转换结果应为:

“abc.cde.fgi”->“abc.cde.fgi”

“abc.cde.fgi[0]”->“abc.cde.fgi[0]”

'abc.cde[1].fgi.xyz'->'abc.cde[1].fgi.xyz'

例如,是否有一种优雅的方法可以通过regexp实现这一点,或者仅在某些步骤中使用split函数和concat将字符串部分组合在一起进行转换


如果您有任何建议,我们将不胜感激。

您可以将字母[a-z]替换为用引号括起来的截图。通过添加全局标志,它将替换找到的运行的多个实例

str.replace(/([a-z]+)/g, '"$1"')
例如:

函数quoteWordsstr{ 返回str.replace/[a-z]+/g,'1'; } console.logquoteWords'abc.cde.fgi'; console.logquoteWords'abc.cde.fgi[0];
console.logquoteWords'abc.cde[1].fgi.xyz';这听起来像是一个琐碎的任务:,有条件。你试过实现它吗?谢谢KevBot!我不知道JS有如此灵活的字符串替换。正是我想要的——苗条优雅。