我有一个像这样的字符串
4366 | 2d53 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3f80 | 0 | 4248 | 295f | 41c4 | 19c4 | 0 | 268
在这里, | -表示为分隔线,我要使每个分隔线正好包含4个字符
Ex:0 | 0,必须简化为0000 | 0000 12 | 13,必须将其简化为0012 | 0013
注意: 如果是字符。随附|小于4,然后在字符前面加上零,即12 | 13简化为0012 | 0013,而不是1200 | 1300
结果:
4366 | 2d53 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3f80 | 0 | 4248 | 295f | 41c4 | 19c4 | 0 | 268
我想将其转换为
4366 | 2d53 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 3f80 | 0000 | 4248 | 295f | 41c4 | 19c4 | 0000 | 2680
答案 0 :(得分:1)
可以通过简单的字符串操作Split()
,PadLeft()
和Join()
来解决
string input = "4366|2d53|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|3f80|0|4248|295f|41c4|19c4|0|268";
string result = string.Join("|",input.Split('|').Select(x => x.PadLeft(4, '0')));
答案 1 :(得分:0)
类似的事情应该起作用:
string.Join("|", myString.Split('|').Select(x => x.PadLeft(4,'0')));
我做了一个小提琴:https://dotnetfiddle.net/uK1kyr