Javascript 拆分字符串并保留以下文本
我有一个很长的文本字符串,我想通过字符串“#”、“##”和“##”将其拆分成一个数组 我可以这样做:Javascript 拆分字符串并保留以下文本,javascript,arrays,regex,split,Javascript,Arrays,Regex,Split,我有一个很长的文本字符串,我想通过字符串“#”、“##”和“##”将其拆分成一个数组 我可以这样做: const text = "### foo ## foo # foo ### foo ## foo ### foo ### foo ### foo" text.split(/#{1,3}/g) 输出: [ '', ' foo ', ' foo ', ' foo ', ' foo ', ' f
const text = "### foo ## foo # foo ### foo ## foo ### foo ### foo ### foo"
text.split(/#{1,3}/g)
输出:
[ '',
' foo ',
' foo ',
' foo ',
' foo ',
' foo ',
' foo ',
' foo ',
' foo' ]
[ '', '###', ' foo ', '##', ' foo ', '#', ' foo ', '###', ' foo ', '##', ' foo ', '###', ' foo ', '###', ' foo ', '###', ' foo' ]
但是,这会删除我仍然需要的hashtag。我也可以保留hashtag,但它们只是作为元素添加到数组中,这也是不可取的
text.split(/(#{1,3})/g)
输出:
[ '',
' foo ',
' foo ',
' foo ',
' foo ',
' foo ',
' foo ',
' foo ',
' foo' ]
[ '', '###', ' foo ', '##', ' foo ', '#', ' foo ', '###', ' foo ', '##', ' foo ', '###', ' foo ', '###', ' foo ', '###', ' foo' ]
如何分割文本,使哈希标记后的文本包含在哈希标记后的数组元素中?结果是这样的
通缉结果:
[ '### foo ', '## foo ', '# foo ', '### foo ', '## foo ', '### foo ', '### foo ', '### foo' ]
代码
将上述正则表达式与JavaScriptmatch()函数一起使用
var str=“####foo#foo#foo#foo#foo#foo#foo#;
var matches=str.match(/#{1,3}[^#]+/g);
log(匹配)
只需使用#{1,3}[^#]+
进行匹配,在twitter之外调用#
一个“hashtag”合适吗?符号通常被称为数字、磅或哈希符号。@ CTWELS不应该回答这个问题吗?我想这个解决方法也是:{{1,1,3}\W+考虑在W+之后取或不带一个空间,取决于您是否想要它。@在EngRexbox中,我添加了一个答案;另外, <> 有太多的名字,我认为这些名称都取决于它的用法。永久数字符号-P