我正在尝试修剪字符串中的所有空格,包括onPostExequte
我似乎无法实现这一目标。
我尝试过的示例是:
基本上,我希望输出仅是字符串中的var txt = ' hallo<span> again</span>   ';
txt = txt.replace(/(?:^(?: )+)|(?:(?: )+$)/ig,'');
txt = txt.trim();
console.log(txt);//should only display 'hallo<span> again</span>'
。
答案 0 :(得分:1)
您可以创建一个元素textarea
并在其中分配值,以便对特殊字符进行解码,然后对该值使用trim()
:
var txt = ' hallo<span> again</span>   ';
var elem = document.createElement("textarea");
elem.innerHTML = txt;
var txtValue = elem.value;
txt = txtValue.trim();
console.log(txt);
答案 1 :(得分:0)
您可以将
转换为硬空格(U + 00A0),然后修剪:
var txt = ' hallo<span> again</span>   ';
txt = txt.replace(/ (?:;?)/ig,'\u00A0');
txt = txt.trim();
console.log('"' + txt + '"');//should only display 'hallo'
请注意,由于其中有 
(没有;
),因此我在正则表达式中将;
设置为可选。
答案 2 :(得分:0)
var txt = ' hallo   ';
txt = txt.replace(/^(?: |\s)+|(?: |\s)+$/ig,'');
console.log(txt);//should only display 'hallo'
这可以解决问题,但由于输入文本包含 
,后面没有分号,因此输出为"hallo  "
对于输入' hallo '
,输出将为hallo
答案 3 :(得分:0)
知道我迟到聚会了,这是我的贡献。
使用了Non Capturing Group "?:"
并将它们全部替换为空字符串""
。
工作方式:
(?: |;|\s+)
?:
非捕获组,不匹配组()
中的所有内容 |;|\s+
, 
或;
或\s+
匹配无限数量的空格。
let regex = /(?: |;|\s+)/gm;
//let str = ` hallo   `;
let str = ` hallo<span> again</span>   `;
console.log(str.replace(regex, ""));
答案 4 :(得分:0)
if (`codec installed`)
int codec = opencvfourcc(codec)
else
int codec = -1