You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从字符串中提取所有以#开头的子串?

提取字符串中所有以#开头的子串方法

Python 实现

使用正则表达式的re.findall方法直接匹配所有符合规则的子串:

import re

target_str = "i have #newCar and the #noTime in #Days"
hashtags = re.findall(r'#\w+', target_str)
print(hashtags)  # 输出: ['#newCar', '#noTime', '#Days']

如果需要支持#后包含连字符、数字等非空白特殊字符,可将正则调整为r'#[^\s]+',匹配到下一个空白字符为止。

JavaScript 实现

利用字符串的match方法结合全局正则匹配:

const targetStr = "i have #newCar and the #noTime in #Days";
const hashtags = targetStr.match(/#\w+/g);
console.log(hashtags); // 输出: ['#newCar', '#noTime', '#Days']

同理,若需兼容非单词字符,将正则改为/#[^\s]+/g即可。

核心逻辑

本质是通过正则表达式定位以#起始的连续字符序列:

  • #:精准匹配起始的哈希符号
  • \w+:匹配1个及以上字母、数字或下划线(适用于标准标签)
  • [^\s]+:匹配1个及以上非空白字符(适用于含特殊符号的标签)

内容的提问来源于stack exchange,提问作者React_Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 23:55:26