gpt4 book ai didi

c# - 在正则表达式中用 2 位数字替换数字

转载 作者:行者123 更新时间:2023-11-30 15:20:27 26 4
gpt4 key购买 nike

我有一些输入是一个整数,存储为一个字符串,可能有 1 位或 2 位数字。我想知道是否有可能提出一个正则表达式模式和替换字符串,允许我在任何只有一位数字的输入前面添加一个 0。

即。我想找到这样的模式和替代:

Regex.Replace("1",pattern,subst); // returns "01"
Regex.Replace("31",pattern,subst); // returns "31"

编辑:该问题特定于 C# 正则表达式。请不要回答提供替代方法

最佳答案

使用正则表达式,您可以在单个数字周围使用单词边界:

string num = "5";
Regex.Replace(num, @"\b\d\b", "0$&");
//=> 05

num = "31";
Regex.Replace(num, @"\b\d\b", "0$&");
//=> 31

Code Demo

正则表达式 \b\d\b 将匹配一个数字,两侧都有单词边界,以确保我们只匹配一个数字。

More Infor about Word boundary


如果数字可以出现在单词的中间,那么您可以像这样使用环视正则表达式:

num = Console.WriteLine(Regex.Replace(num, @"(?<!\d)\d(?!\d)", "0$&"));

关于c# - 在正则表达式中用 2 位数字替换数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40115214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com