如果在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"
您可以Split将transaction检查各部分,最后,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$&" 0是0和$&代表整个匹配。