[英]C# Split string using regex expression
輸入: String input = "{True,True,False},{False,True,True},{False,True,True}"
預期 output : String[] output = new String[]("True,True,False", "False,True,True", "False,True,True");
我正在嘗試使用Regex.Split
,但該模式不成功。 有什么提示嗎?
這是我的版本:
using System;
using System.Linq;
using System.Text.RegularExpressions;
class Program
{
public static void Main(string[] args)
{
String input = "{True,True,False},{False,True,True},{False,True,True}";
var pattern = "{(.*?)}";
var matches = Regex.Matches(input, pattern);
var output2 = matches
.Select(m => m.Groups[1].ToString())
.ToList();
foreach (var o in output2) Console.WriteLine(o);
}
}
Output
True,True,False
False,True,True
False,True,True
你可以試試:
var result = input
// Remove sorrounding { and }
.Trim(new char[] { '{', '}' })
// Split by "},{"
.Split(new string[] { "},{" }, StringSplitOptions.RemoveEmptyEntries);
您可以分別使用.TrimStart()
和.TrimEnd()
修剪第一個和最后一個{
}
,然后使用以下模式應用 RegEx
string str = "{True,True,False},{False,True,True},{False,True,True}".TrimStart('{').TrimEnd('}');
var result = Regex.Split(str, @"},{"); // result is an array of string.
Console.WriteLine(string.Join(" ", result));
Output
True,True,False False,True,True False,True,True
您可以使用:
string input = "{True,True,False},{False,True,True},{False,True,True}";
var pattern = @"{([A-Za-z,].+?)}";
var yourArray = Regex.Matches(input, pattern);
var Result= yourArray
.Select(m => m.Groups[1].ToString())
.ToList();
foreach(var r in Result) {
Console.WriteLine(r);
}
您的 output:
True,True,False
False,True,True
False,True,True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.