如果在c#中缺失,则在字符串中添加前缀

c#

我有以下多个交易传递给交易string

string transaction = "12345,56789";

我想检查该交易是否具有前缀“0”,那么如何检查。

例如

"012345,056789";

假设这些交易没有像"12345,56789"这样的前缀 '0'我想添加像这样的前缀"012345,056789"

我尝试使用下面的代码它对我不起作用,任何人都可以指导我如何实现这一目标。

    if(transaction.StartsWith("0"))
    {
        transaction = transaction;
    }
    else
    {
        transaction = "0" + transaction;
    }

回答

如果要检查字符串的每个数字部分,即

 "12345,56789"    =>   "012345,056789"
 "012345,56789"   =>   "012345,056789"
 "12345,056789"   =>   "012345,056789"
 "012345,056789"  =>   "012345,056789"

您可以Splittransaction检查各部分,最后,Join这件返还:

using System.Linq;

...

transaction = string.Join(",", transaction
  .Split(',')
  .Select(part => part.StartsWith("0") ? part : $"0{part}"));

另一种可能性是正则表达式

 using System.Text.RegularExpressions;

 ...

 transaction = Regex.Replace(transaction, @"b[1-9]", "0$&");

在这里,我们匹配每个部分的每个最左边的数字(如果它在1..9范围内)(注意b单词边框)并添加0前缀:in"0$&" 00$&代表整个匹配。


以上是如果在c#中缺失,则在字符串中添加前缀的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>