我有一个字符串,如RemoteAuthorizationTestScope |开始:En Attente验证|:001 |:01195 | 21/01/2015
我可以从|中提取字符串使用此代码的符号
var userInfo="RemoteAuthorizationTestScope|Start:En Attente Validation|:001|:01195|21/01/2015"
var entries=userInfo.Split('|');
然而,还有一些文字" Start:En Attente Validation"在需要分离的字符串中,如何实现这一点,以便我可以以这种方式分隔字符串。
RemoteAuthorizationTestScope
Start
En Attente Validation
001
01195
21/01/2015
答案 0 :(得分:15)
您可以指定要拆分的多个字符,也可以删除空条目。使用String.Split overload
之类的:
var entries = userInfo.Split(new []{'|', ':'}, StringSplitOptions.RemoveEmptyEntries);
那会给你
RemoteAuthorizationTestScope
Start
En Attente Validation
001
01195
21/01/2015
答案 1 :(得分:0)
包括您的其他请求:
"开始:En Attente验证"如何在列字符之后只获得字符串':'?
您可以使用正则表达式\|(?:[^:]*:)?
var userInfo =
"RemoteAuthorizationTestScope|Start:En Attente Validation|:001|:01195|21/01/2015";
var entries = System.Text.RegularExpressions.Regex.Split(userInfo, "\\|(?:[^:]*:)?");
结果:
String[]
[
"RemoteAuthorizationTestScope",
"En Attente Validation",
"001",
"01195",
"21/01/2015"
]