首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >修改现有的RegEx以容纳用空格替换<nbsp;>的

修改现有的RegEx以容纳用空格替换<nbsp;>的
EN

Stack Overflow用户
提问于 2015-06-19 17:01:50
回答 2查看 63关注 0票数 0

我需要你的帮助,

如何修改下面的现有代码,使其不仅考虑用\n'替换所有\n',而且考虑使用javascript中的空格分隔符替换字符串中的所有<nbsp;>

以下是需要修改的现有代码:

代码语言:javascript
复制
var txt = str.replace(/<br\s*\/?>/mg,"\n")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-19 17:18:00

你可以用这样的方法

代码语言:javascript
复制
var txt = str.replace(/<br ?/?>/g, '\n').replace(/&nbsp;/g, ' ');

但是你不能用一个regex做两个替换

票数 0
EN

Stack Overflow用户

发布于 2015-06-19 17:16:02

如果您想用一个regexp来完成它,replace接受一个函数作为替换器,这样您就可以通过组匹配来利用这个函数:

代码语言:javascript
复制
var str = 'some string <br/> and&nbsp;something else';
var txt = str.replace(/(<br\s*\/?>|&nbsp;)/mg, function (match) {
  return match === '&nbsp;' ? ' ' : '\n';
});

document.write('<pre>' + txt + '</pre>');

如果不是,您还可以将任意数量的replace调用链接在一起:

代码语言:javascript
复制
var str = 'some string <br/> and&nbsp;something else';
var txt = str.replace(/<br\s*\/?>/gm, '\n').replace(/&nbsp;/gm, ' ');
document.write('<pre>' + txt + '</pre>');

使用一个replace的主要好处是它不需要检查整个字符串两次。然而,如果您需要添加/编辑要替换的实体,那么这确实会使代码更难阅读,并且可能会对代码进行维护。因此,根据要检查的字符串的长度,您需要在性能和可读性/可维护性之间取得平衡。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30943525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档