首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式替换除某些字符模式之外的所有非数字字符

正则表达式替换除某些字符模式之外的所有非数字字符
EN

Stack Overflow用户
提问于 2019-10-28 00:13:37
回答 1查看 232关注 0票数 1

我很难弄清楚这个正则表达式模式。我想替换字符串中除某些字母字符模式之外的所有非数字字符。

例如,我正在尝试:

代码语言:javascript
复制
string str = "The sky is blue 323.05 lnp days of the year";

str = Regex.Replace(str, "(^blue|lnp|days)[^.0-9]", "", RegexOptions.IgnoreCase);

我想让它返回:

“蓝色323.05 lnp天”

但是我不知道如何让它与表达式中的整个字符模式相匹配。

EN

回答 1

Stack Overflow用户

发布于 2019-10-28 06:45:42

我建议捕获您需要保留的内容,只匹配您需要删除的内容:

代码语言:javascript
复制
var result = Regex.Replace(text, @"(\s*\b(?:blue|lnp|days)\b\s*)|[^.0-9]", "$1").Trim();

请参阅regex demo。请注意,最终的前导/尾随空格将使用.Trim()进行修剪。

正则表达式表示:

  • | - or
  • [^.0-9] -除.和ASCII位以外的任何字符。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58581137

复制
相关文章

相似问题

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