gpt4 book ai didi

c# - 将 String 转换为 String[] 但不在撇号中使用逗号

转载 作者:行者123 更新时间:2023-11-30 15:53:47 25 4
gpt4 key购买 nike

我有一个字符串

String strValue = "city, image, N'Hello, World , It Rain', picture";

我想转换为 String[] 并且我使用了 strValue.Split(',')

结果:

[
city,
image,
N'Hello,
World,
It Rain',
picture
]

但我不想拆分 N'Hello, World , It Rain'

我想要的结果是:

[
city,
image,
N'Hello, World , It's Rain',
picture
]

谢谢大家

最佳答案

您可以使用以下行将其拆分为使用多个字符作为分隔符的数组,前提是您的字符串值使用逗号后跟空格分隔,如您的示例所示。

String[] strValues = strValue.Split(new string[] { ", " }, StringSplitOptions.None);

这是一个 DotNetFiddle


编辑 - 考虑到需求的突然变化......

如果您不关心结果的顺序并且您希望再次提取句子,因为它们都采用相同的格式('N<sentence>')我们可以使用类似这样的东西来快速提取值:

String strValue = "city, image, N'Hello, World , It Rain', picture";

// Match the sentences by N'{text}'
var strValues = Regex.Match(strValue, "(?<=N')(.*?)(?=')");

// Remove the sentences from the string
foreach(var matchedVal in strValues.Captures){
var toRepl = String.Format("N'{0}', ", matchedVal.ToString());
strValue = strValue.Replace(toRepl, "");
}

// Split the remainder of the string
List<string> strOtherValues = strValue.Split(new string[] { ", " }, StringSplitOptions.None).ToList();

// Add all sentences to words list
foreach (var matchedVal in strValues.Captures)
{
strOtherValues.Add(matchedVal.ToString());
}

关于c# - 将 String 转换为 String[] 但不在撇号中使用逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51766130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com