String.Split便于在分隔符上拆分多个部分的字符串.
我该如何继续仅在第一个分隔符上拆分字符串.我有一个字符串
"Time: 10:12:12\r\n"
Run Code Online (Sandbox Code Playgroud)
我想要一个看起来像的阵列
{"Time","10:12:12\r\n"}
Run Code Online (Sandbox Code Playgroud)
Tho*_*rin 139
最好的方法取决于您希望解析的灵活性,关于可能的额外空间等.检查确切的格式规范以了解您的需求.
yourString.Split(new char[] { ':' }, 2)
Run Code Online (Sandbox Code Playgroud)
将限制你两个2个子串.但是,这不会修剪第二个字符串开头的空格.但是,您可以在拆分后的第二个操作中执行此操作.
yourString.Split(new char[] { ':', ' ' }, 2,
StringSplitOptions.RemoveEmptyEntries)
Run Code Online (Sandbox Code Playgroud)
应该可以工作,但是如果您尝试拆分包含空格的标题名称,则会中断.
yourString.Split(new string[] { ": " }, 2,
StringSplitOptions.None);
Run Code Online (Sandbox Code Playgroud)
将完全按照您的描述进行,但实际上需要存在空间.
yourString.Split(new string[] { ": ", ":" }, 2,
StringSplitOptions.None);
Run Code Online (Sandbox Code Playgroud)
使空间可选,但如果有TrimStart()多个空格,您仍需要.
为了保持格式有些灵活,并且您的代码可读,我建议使用第一个选项:
string[] split = yourString.Split(new char[] { ':' }, 2);
// Optionally check split.Length here
split[1] = split[1].TrimStart();
Run Code Online (Sandbox Code Playgroud)
Mar*_*eck 13
在上面的示例中,您可以拆分":"(即带有尾随空格的冒号),因为这似乎就是您所做的.如果你真的只拆分第一个分隔符,你会在第二个数组元素中看到一个前导空格.
但是,您应该看看Split的这个重载...
http://msdn.microsoft.com/en-us/library/c1bs0eda.aspx
public string[] Split(
char[] separator,
int count
)
Run Code Online (Sandbox Code Playgroud)
...允许您指定最大数量的子串.
| 归档时间: |
|
| 查看次数: |
62156 次 |
| 最近记录: |