一串Split用于在分隔符上拆分多个部分的字符串.

如何只在第一个分隔符上拆分字符串.我有一根绳子

"Time: 10:12:12\r\n"

我想要一个像

{"Time","10:12:12\r\n"}

推荐答案

最好的方法在一定程度上取决于您希望解析有多灵活,考虑到可能的额外空格等等.判断确切的格式规范以了解您需要的内容.

yourString.Split(new char[] { ':' }, 2)

将限制两个子字符串.但是,这不会修剪第二个字符串开头的空间.然而,你可以在分裂后的第二次手术中做到这一点.

yourString.Split(new char[] { ':', ' ' }, 2,
    StringSplitOptions.RemoveEmptyEntries)

应该可以工作,但如果您试图拆分包含空格的标头名称,则会中断.

yourString.Split(new string[] { ": " }, 2,
    StringSplitOptions.None);

会完全按照你的描述来做,但实际上需要空间.

yourString.Split(new string[] { ": ", ":" }, 2,
    StringSplitOptions.None);

使空间成为可选的,但如果有多个空间,则仍然需要TrimStart()个.

为了保持格式的灵活性和代码的可读性,我建议使用第一个选项:

string[] split = yourString.Split(new char[] { ':' }, 2);
// Optionally check split.Length here
split[1] = split[1].TrimStart();

.net相关问答推荐

使用.NET 8时无法识别运行标识符

Azure SignalR 和微服务

Dotnet 反射:使用 F# 中的out参数调用 MethodInfo 上的调用

问:在 Blazor WASM 应用程序中存储 api 密钥的最佳方式是什么?

线程安全性的单元测试?

AsyncLocal 的语义与逻辑调用上下文有何不同?

在 C# DllImport 中使用 32 位或 64 位 dll

使用泛型装箱和拆箱

.NET 世界是否有 Maven 替代方案或端口?

如何从字符串中删除所有字母字符?

您可以在 C# 代码中捕获本机异常吗?

C# 的浮点比较函数

Convert.ToBoolean 和 Boolean.Parse 不接受 0 和 1

寻找 .NET 的命令行参数解析器

List 和 IEnumerable 的实际区别

C#中的T是什么意思?

如何在 Action 中传递参数?

IEnumerable vs IReadonlyCollection vs ReadonlyCollection 用于公开列表成员

如何判断uri字符串是否有效

.NET Remoting 真的被弃用了吗?