我有一个问题,我有一个看起来像这样的字符串:
abc'def'ghi?'jkl'mno?'pqr'stu'vwx'yz'
我需要用 ' 字符分割这个字符串,但前提是它前面没有问号,这会避开 ' 字符。除此之外,如果 ' 被转义,我需要不带问号字符的结果字符串。
对于这个例子,结果应该是一个列表:
abc
def
ghi'jkl
mno'pqr
stu
vwx
yz
我希望你能帮我解决这个问题
亲切的问候
string[] output=Regex.Split(input,@"(?<!\?)'")
.Select(x=>x.Replace("?'","'"))
.ToArray();
好吧,我会像这样一步一步地使用:
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);
}
string value = "abc'def'ghi?'jkl'mno?'pqr'stu'vwx'yz'";
if ( value.Contains("?"))
{
value = value.Replace("?", "");
}
value=value.Replace("'",Environment.NewLine);
首先检查任一字符串是否包含问号,将其替换为 null,然后拆分您的字符串,如下所示。
string value = "abc'def'ghi?'jkl'mno?'pqr'stu'vwx'yz'";
if ( value.Contains("?"))
{
value = value.Replace("?", null);
}
string[] splitedString = value.Split('\'');