我有一个问题,我有一个看起来像这样的字符串:
abc'def'ghi?'jkl'mno?'pqr'stu'vwx'yz'
我需要将这个字符串拆分为' char,但只有当没有问号站在它前面时,它才会逃脱'焦炭。除此之外,如果'转义我需要没有问号char的结果字符串。
结果应该是这个例子的一个List:
abc
def
ghi'jkl
mno'pqr
stu
vwx
yz
我希望你能帮我解决这个问题
亲切的问候
答案 0 :(得分:2)
string[] output=Regex.Split(input,@"(?<!\?)'")
.Select(x=>x.Replace("?'","'"))
.ToArray();
答案 1 :(得分:1)
好吧,我会像这样一步一步地使用:
string str = @"abc'def'ghi?'jkl'mno?'pqr'stu'vwx'yz'";
string[] results = Regex.Split(str, @"(?<!\?)'");
var regex = new Regex(@"\?(?=')");
foreach (string result in results)
{
string output = regex.Replace(result, "");
Console.WriteLine(output);
}
答案 2 :(得分:0)
首先检查字符串是否包含问号将其替换为null,然后拆分字符串,如下所示。
string value = "abc'def'ghi?'jkl'mno?'pqr'stu'vwx'yz'";
if ( value.Contains("?"))
{
value = value.Replace("?", null);
}
string[] splitedString = value.Split('\'');
答案 3 :(得分:0)
string value = "abc'def'ghi?'jkl'mno?'pqr'stu'vwx'yz'";
if ( value.Contains("?"))
{
value = value.Replace("?", "");
}
value=value.Replace("'",Environment.NewLine);