C# 如何为逗号分隔的交易字符串中无0前缀的交易号添加0前缀
实现思路
你原来的代码问题出在仅对整个字符串做前缀判断,没有拆分出每个独立交易号分别处理,正确的处理步骤为:
- 按逗号
,将原始字符串拆分为单个交易号的数组 - 遍历每一个交易号,判断是否带有
0前缀,没有则补加 - 用逗号将处理后的所有交易号重新拼接为完整字符串
代码实现
基础循环实现(无需额外引入命名空间)
string transaction = "12345,56789"; // 拆分得到单个交易号数组 string[] transactionList = transaction.Split(','); for (int i = 0; i < transactionList.Length; i++) { // 单个交易号没有0前缀则补加 if (!transactionList[i].StartsWith("0")) { transactionList[i] = "0" + transactionList[i]; } } // 重新拼接为完整字符串 transaction = string.Join(",", transactionList);
LINQ简洁写法(需要引入System.Linq命名空间)
using System.Linq; string transaction = "12345,56789"; transaction = string.Join(",", transaction.Split(',') .Select(trans => trans.StartsWith("0") ? trans : "0" + trans) );
可选优化
如果你的交易号可能存在前后空格,可以在判断前调用Trim()处理:
.Select(trans => trans.Trim().StartsWith("0") ? trans : "0" + trans)
内容的提问来源于stack exchange,提问作者Sanjay Nakate
相关产品推荐
相关产品推荐

