首页 文章

从字符串中提取主题标签 .

提问于
浏览
2

如果我有一个字符串

var comment =  "Mmmm #yummy #donut at #CZ"

如何获取字符串变量中存在的哈希标记列表?

我尝试使用JavaScript split()方法,但我必须继续拆分从初始拆分字符串创建的所有字符串 . 有更简单的方法吗?

4 回答

  • 10

    这将用于任何带字母字符的内容,如果需要,可以扩展其他字符的正则表达式:

    myString.match(/#[a-z]+/gi);
    
  • 1

    只需使用正则表达式来查找哈希后跟非空白字符的出现 .

    "Mmmm #yummy #donut at #CZ".match(/#\w+/g)
    // evaluates to ["#yummy", "#donut", "#CZ"]
    
  • 0

    您是否关心Unicode或非英语主题标签?

    "Mmmm #yummy #donut at #CZ #中文 #.dou #。#?#♥️ #にほ".match(/#[\p{L}]+/ugi)
    => (5) ["#yummy", "#donut", "#CZ", "#中文", "#にほ"]
    

    正如这个答案所解释的那样:https://stackoverflow.com/a/35112226/515585

    \ p 匹配PCRE_UTF8修饰符的unicode字符,此修饰符打开与Perl不兼容的PCRE的其他功能 .

  • 8

    如果你关心可读性:

    yourText.split(' ').filter(v=> v.startsWith('#'))
    

    将返回 ["#yummy", "#donut", "#CZ"]

相关问题