VS C#如何将6789数进行位判断??

试图提出一个"简单"的正则表达式来掩盖看起来可能包含帐号的文本位。

  • 任何包含数字的单词(或一系列此类单词)都应匹配
  • 用四个X(xxxx)替换匹配字符串的所有先前部分

但这错过了下面的最后几个样本

用正则表达式替换是否可以实现这种安排?

我认为我将需要一些贪婪和超前功能,但我在这些领域的经验为零。


如果您具有类似111 2233 33的值,它将打印xxxx3 33。如果希望它没有空格,则可以将lambda变成多行语句,以从值中删除空格。

为了稍微解释一下正则表达式模式,它后面有一个负数,因此可以确保它后面的单词中没有数字(数字周围带有可选的单词字符)。然后是m1部分,该部分查找其中包含数字的单词。正则表达式模式解析其余字符后,将通过一些C#代码来捕获此字符的最后四个字符。


我认为正则表达式不是解决此问题的最佳方法,这就是为什么我发布此答案。对于如此复杂的情况,构建相应的正则表达式太困难了,更糟糕的是,其清晰度和适应性远低于长代码方法。

这些行下面的代码提供了您所追求的确切功能,它很清楚并且可以轻松扩展。



这是我真正的快速尝试:

这将选择所有这些测试用例。现在,对于C#代码,您需要检查每个匹配项,以查看匹配序列的开头或结尾是否有空格(例如,最后一个示例在选择之前和之后都有空格)

这是执行替换的C#代码:


}
  • 从字符串中提取数字是非常常见的需求,用正则表达式也很简单,几行代码即可完成。

}

注意我说的是“方法”,超过3行代码的就别回了... 注意我说的是“方法”,超过3行代码的就别回了


本回答由上海永楚网络科技有限公司提供

下载百度知道APP,抢鲜体验

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 c语言1234输出4321 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信