Javascript-仅选择字符串中的特定模式

时间:2018-08-29 21:47:52

标签: javascript html

我正在尝试使用

从javascript中的标签中提取字符串。

document.querySelector('.title h2').textContent

但是我得到这样的信息(包括双引号):

  

“(很多空格)字符串(很多空格)”

实际上,我实际上只需要检索字符串中的文本部分(在此示例中为字符串),留在双引号和空格之后。

我知道我需要一些正则表达式,但在这种情况下我不知道如何进行处理。

4 个答案:

答案 0 :(得分:2)

您必须告诉replace()重复正则表达式:

.replace(/ /g,'')

g字符表示在整个字符串中重复搜索。了解有关此内容以及JavaScript here.

中可用的其他RegEx修饰符的信息

如果要匹配所有空格,而不仅仅是文字空间字符,请同时使用\ s:

.replace(/\s/g,'')

答案 1 :(得分:2)

尝试对字符串使用修剪方法。

var a = "    String stuff    ";
console.log(a.trim());       // Prints: "String stuff"

Here is the documentation

答案 2 :(得分:1)

您可以使用.trim()删除textContent字符串两侧不需要的空格,如下所示:

// "(lots of spaces) String stuff (lots of spaces)"
document.querySelector('.title h2').textContent

// Add .trim() to get "String stuff"
document.querySelector('.title h2').textContent.trim()

答案 3 :(得分:1)

您不需要正则表达式;您只需使用 .trim()

console.log(document.querySelector('.title h2').textContent.trim());
<div class="title">
 <h2>   Some stuff    </h2>
</div>

如果您确实要使用正则表达式,则可以使用 .replace(/\s+/, '')

const input = document.querySelector('.title h2').textContent;
const output = input.replace(/\s+/, '');

console.log(output);
<div class="title">
 <h2>   Some stuff    </h2>
</div>