为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用正则表达式根据javascript中的条件从字符串的开头删除子字符串?

如何使用正则表达式根据javascript中的条件从字符串的开头删除子字符串?

红颜莎娜 2022-08-04 10:33:45
我有一个这样的字符串term = "Hey there how you doing?"现在,由于API中的一些问题,我有时会在字符串的开头收到未定义的。term = "#0undefinedHey there how you doing?"或term = "#1undefined Hey there how you doing?"现在,我可以通过执行类似操作来检查句子开头是否存在undefinedif(term.indexOf("undefined") == 0) {    //processing logic}但正如你所看到的,有一个存在的地方可以是任何一位数的数字。#nundefinedn我想要一个正则表达式解决方案,以便它忽略并在句子的开头查找并删除和。#nundefined#nundefined因此,如果存在,则最终字符串将为undefinedterm = "Hey there how you doing?" // removed #nundefined如何使用正则表达式执行此操作?
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

let s = "#0undefined Hello World!";

console.log(s.replace(/^\#[0-9]*undefined\s*/,''));


const regex = RegExp('^\#[0-9]*undefined');

console.log('Has undefined = ' + regex.test(s));


查看完整回答
反对 回复 2022-08-04
?
慕村225694

TA贡献1880条经验 获得超4个赞

如果 旁边的此数字对您有意义,您可以尝试:undefined


const matches = "#1undefined Hey there how you doing?".match(/#([0-9]*)undefined ?(.*)/);

console.log(matches);


这将为您提供下面的数字,而您清理的邮件将位于 。matches[1]matches[2]


如果您只关心消息,则可以像其他用户建议的那样使用来清理输出:.replace


const output = "#1undefinedHey there how you doing?".replace(/#([0-9]*)undefined ?/, '');

console.log(output)

查看完整回答
反对 回复 2022-08-04
  • 2 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信