重新排列字符串中的文本

本文关键字:字符串 文本 排列 新排列 | 更新日期: 2023-09-27 18:07:58

我有一个包含客户信息的文本,该信息以不同的格式出现,我想重新排列客户信息,以便在解析之前所有信息看起来都相同。

客户信息格式1:

ID: 1
Name: A
Last name: B

客户信息格式2:

ID: 
1
Name: 
A
Last name: 
B

有没有办法让我重新排列这些信息,使它们看起来都像例子1?

重新排列字符串中的文本

看起来你可能只是需要:

text = text.Replace(": 'r'n", ": ");

这将适用于您给出的示例,可能已将"'r'n"更改为"'n"取决于确切的格式。

这比简单替换":'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

如果这是一个要求,这是可以的,但如果不是更复杂!

为任何类型的格式编写单个泛型代码都是很困难的。

然而,你可以用一个方法写一个接口,比如Format(…),并为每种格式类型创建一个类,然后相应地实例化类的对象。