我正在尝试使用
从javascript中的标签中提取字符串。 document.querySelector('.title h2').textContent
但是我得到这样的信息(包括双引号):
“(很多空格)字符串(很多空格)”
实际上,我实际上只需要检索字符串中的文本部分(在此示例中为字符串),留在双引号和空格之后。
我知道我需要一些正则表达式,但在这种情况下我不知道如何进行处理。
答案 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"
答案 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>