我有一个包含客户信息的文本,信息格式不同,我想重新安排客户信息,以便在解析之前所有信息都一样。
客户信息格式1:
ID: 1
Name: A
Last name: B
客户信息格式2:
ID:
1
Name:
A
Last name:
B
有没有办法让我重新排列信息,所以它们看起来都像示例号1?
非常感谢所有帮助。
答案 0 :(得分:2)
看起来你可能只需要:
text = text.Replace(": \r\n", ": ");
这适用于您给出的示例,可能已将“\ r \ n”更改为“\ n”,具体取决于具体格式。
答案 1 :(得分:1)
这更简单地替换了“:\ r \ n”,但它实际上并不是完美的
Regex.Replace(input,@"(:\s*)\n([^:]*$)","$1$2",RegexOptions.Multiline);
它找到一个:
后面跟着0个或更多的空格字符,后面跟一个换行符,后跟一个不包含冒号的行,并在这种情况下删除换行符。与Jon的答案相比,唯一的优势是它可以使用空值,即:
ID:
1
Name:
A
Middle Name:
Last name:
B
变为
ID: 1
Name: A
Middle Name:
Last name: B
如果这是一项要求,那就没关系,但如果没有,那就更复杂了!
答案 2 :(得分:0)
为任何类型的格式编写单个通用代码是很困难的。
但是,您可以编写一个带有格式(...)的方法的接口,并为每种格式创建一个类,然后相应地实例化类的对象。