如何只在Javascript的字符串中保留双引号引号部分?

时间:2019-07-15 11:46:23

标签: javascript node.js string

我只想在javascript中保留字符串的双引号部分。假设这是我的字符串:

const str = 'This is an "example" of js.'

我想要这样的结果:

output = example

意味着我只想保留双引号中的 example 部分。 我可以从字符串中删除双引号,但是我还没有找到任何好的方法来仅保留字符串的双引号。

3 个答案:

答案 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;