首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从包含哈希标签的字符串中删除一个单词

问从包含哈希标签的字符串中删除一个单词
EN

Stack Overflow用户
提问于 2022-05-13 06:53:52
回答 1查看 180关注 0票数 0

我已经用regexp做了很多“过滤”来从字符串中删除不想要的字符,这就是我所使用的:

代码语言:javascript
复制
var regexpHashtag = new RegExp(/(?:^|\s)(?:#)([a-zA-Z\d]+)/g)
var regexpUrl = new RegExp(/(?:https?|ftp):\/\/[\n\S]+/g)
var regexpEmoji = new RegExp(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g)
var regexpQuotes = new RegExp(/['"]+/g)

tweetText = tweetText.replace(regexpHashtag, '')
tweetText = tweetText.replace(regexpUrl, '')
tweetText = tweetText.replace(regexpEmoji, '')
tweetText = tweetText.replace(regexpQuotes, '')

但是,仍然存在一些hashtag持续存在的情况,例如在过滤之前:

代码语言:javascript
复制
Pogledajte prizore koje je naš fotograf danas zabilježio na Ilidži (FOTO)  ☀️☀️☀️#Setnja #Ilidza #Malaaleja

之后:

代码语言:javascript
复制
Pogledajte prizore koje je naš fotograf danas zabilježio na Ilidži (FOTO)  ️️️#Setnja

"#Setnja“这个词是导致我的问题的原因,是因为在一个单词之前有表情符号,因为这些标签"#Ilidza #Malaaleja”被删除了。如何改进regexp以删除这个单词?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-13 06:57:34

您的逻辑承认,哈希标签可能前面有一些字符,因此删除LHS上的空白边界检查:

​

代码语言:javascript
复制
var regexpHashtag = new RegExp(/#[a-zA-Z\d]+/g)
var regexpUrl = new RegExp(/(?:https?|ftp):\/\/[\n\S]+/g)
var regexpEmoji = new RegExp(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g)
var regexpQuotes = new RegExp(/['"]+/g)

tweetText = "Pogledajte prizore koje je naš fotograf danas zabilježio na Ilidži (FOTO)  ☀️☀️☀️#Setnja #Ilidza #Malaaleja";
tweetText = tweetText.replace(regexpHashtag, '')
tweetText = tweetText.replace(regexpUrl, '')
tweetText = tweetText.replace(regexpEmoji, '')
tweetText = tweetText.replace(regexpQuotes, '')

console.log(tweetText);

​

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

https://stackoverflow.com/questions/72225507

复制
相关文章

相似问题

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