首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REGEX -删除指定的字符串

REGEX -删除指定的字符串
EN

Stack Overflow用户
提问于 2013-01-08 21:15:27
回答 3查看 89关注 0票数 1

我需要你帮我搞定Regex。我有像"testBla""Bla"test"这样的词。

我想从"testBla"中删除"test"。因此,只有在给定的字符串大于4个字符时,它才应该删除"test"。这就是我所拥有的:

代码语言:javascript
复制
^test\w{4,}

但它不起作用。

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-08 21:17:46

如果你想删除test,如果它出现在行首,后面跟着一个单词字符,那么你可以使用非单词边界:

代码语言:javascript
复制
^test\B

在线查看它的工作方式:rubular

如果你想删除test,如果它出现在行的开头,后面跟着任何字符(换行符除外),那么你可以使用一个先行:

代码语言:javascript
复制
^test(?=.)

在线查看它的工作方式:rubular

票数 2
EN

Stack Overflow用户

发布于 2013-01-08 21:21:19

这将只捕获一个单词中的“测试”部分:\btest(?=\w{4,})。我假设您使用的是具有零长度先行的正则表达式引擎。

票数 1
EN

Stack Overflow用户

发布于 2013-01-08 21:29:59

假设你使用的是JavaScript,试试这个:

代码语言:javascript
复制
string.replace(/test([^]+)/i, "$1");

       'Bla'.replace(/test([^]+)/i, "$1"); // 'Bla'
      'test'.replace(/test([^]+)/i, "$1"); // 'test'
   'testBla'.replace(/test([^]+)/i, "$1"); // 'Bla'
   'blaTest'.replace(/test([^]+)/i, "$1"); // 'blaTest'
'blaTestbla'.replace(/test([^]+)/i, "$1"); // 'blaTestbla'

这将从字符串中删除test,只有当字符串以test开头,并且字符串中除了test之外还有更多内容时。我添加了i以使正则表达式不区分大小写。

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

https://stackoverflow.com/questions/14215793

复制
相关文章

相似问题

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