c# - 分隔后从较大的字符串创建字符串数组

标签 c# regex string linq split

我有一个字符串输入,看起来像这样 var input = "AB-PQ-EF=CD-IJ=XY-JK"。 我想知道是否有一种方法可以在 C# 和 LINQ 中使用 string.split() 方法,这样我可以获得一个字符串数组,如下所示 var output = ["AB- PQ”,“PQ-EF”,“EF=CD”,“CD-IJ”,“IJ=XY”,“XY-JK”]。目前我正在通过迭代输入字符串手动进行相同的转换。

最佳答案

你能用正则表达式代替拆分吗?

var input = "AB-PQ-EF=CD-IJ=XY-JK";
var pattern = new Regex(@"(?<![A-Z])(?=([A-Z]+[=-][A-Z]+))");
var output = pattern.Matches(input).Cast<Match>().Select(m => m.Groups[1].Value).ToArray();

关于c# - 分隔后从较大的字符串创建字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51324015/

相关文章:

c# - 通过 HSSF.EventUserModel 读取 protected 书籍和表格的 XLS

c# - Identity isAuthenticated cookie

python - 如何在Python中每次运行代码时只创建一个对象

java - 如何知道字符串是否包含重音符号

c# - SslStream.DataAvailable 不是有效函数

c# - 在 C# 中使用计时器刷新我的 .aspx 站点的最佳方法?

python - 从reddit获取顶级壁纸

python - 在 Python 2.7.3 中使用正则表达式搜索文本并输出匹配项

java - Java如何将中间包含逗号的句子分成部分?

c - 为什么字符串函数在不包含字符串库的情况下也能正常工作?