我只想在javascript中保留字符串的双引号部分。假设这是我的字符串:
const str = 'This is an "example" of js.'
我想要这样的结果:
output = example
意味着我只想保留双引号中的 example
部分。
我可以从字符串中删除双引号,但是我还没有找到任何好的方法来仅保留字符串的双引号。
答案 0 :(得分:1)
获取"
的开始和结束索引,然后使用slice
。
const str = 'This is an "example" of js';
const startIdx = str.indexOf('"');
const lastIdx = str.lastIndexOf('"');
const output = str.slice(startIdx+1, lastIdx);
console.log(output);
答案 1 :(得分:1)
您可以像这样使用正则表达式捕获组:
const captured = str.match(/\"(.*)\"/)
但是您需要用单引号声明字符串,然后在内部用双引号声明:
const str = 'This is an "example" of js.'
在这里尝试:https://regexr.com/4hfh3
答案 2 :(得分:1)
如评论中所述,这不是有效的字符串,您需要转义内部双引号const str = "This is an \"example\" of js."
之后,您可以使用正则表达式提取引号内的值:
const matches = str.match(/"(.*?)"/);
return matches ? matches[1] : str;