C# Regex.Split 和正则表达式

标签 c# guid

我有字符串,我需要将它拆分两次并选择特殊字符后面的部分。

让我们说:

string myString = "Word 2010|82e146e7-bc85-4bd4-a691-23d55c686f4b;#Videos|55140947-00d0-4d75-9b5c-00d8d5ab8436";

string[] guids = Regex.Split(myString,";#");

所以在这里我得到了两个具有值 + GUID 的元素的数组。但我只需要 Guids,例如:

[0]82e146e7-bc85-4bd4-a691-23d55c686f4b

[1]55140947-00d0-4d75-9b5c-00d8d5ab8436

有什么方法可以在一行/两行中完成?

最佳答案

您可以做到这一点,但仅仅因为您可以在一行中做到这一点并不意味着您应该(如果您在这里太花哨,可读性就会发挥作用)。显然这里根本没有验证。

string myString = "Word 2010|82e146e7-bc85-4bd4-a691-23d55c686f4b;#Videos|55140947-00d0-4d75-9b5c-00d8d5ab8436";

string[] guids = Regex.Split(myString, ";#")
                      .SelectMany(s => Regex.Split(s, @"\|").Skip(1))
                      .ToArray();

Assert.AreEqual(2, guids.Length);
Assert.AreEqual("82e146e7-bc85-4bd4-a691-23d55c686f4b", guids[0]);
Assert.AreEqual("55140947-00d0-4d75-9b5c-00d8d5ab8436", guids[1]);

关于C# Regex.Split 和正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9264898/

相关文章:

c# - 如何返回 C# 类文件路径

c# - 我的绑定(bind)源是否可以告诉我是否发生了更改?

javascript - 了解 Dean Edwards 的附加事件 JavaScript

ruby-on-rails - 对所有模型 ID 使用 guid

c# - 如何使用 TagBuilder 呈现自关闭标签?

c# - 在 C# 中添加数组而不复制重复值

c# - Web API - 为什么我必须使用 FormDataCollection?

android - unity (Android bild),我有问题 "We can' t 分配新的 GUID,因为 Assets 位于不可变文件夹中。该 Assets 将被忽略。”

c# - Web Api 2 中的模型 [FromBody] 和 Guid 映射

javascript - 基于js中种子字符串的相同uuid