我有以下字符串,我想分开它:
"INSERT INTO test (test, test1, test2, test3) values (@test, @test1, @test2, @test3)";
我想要获得的值是分开的@test @ test1 @ test2 @ test3所以我可以为每个人做一些不同的事情
这是我目前所拥有的。
string str = "INSERT INTO test (test, test1, test2, test3) values (@test, @test1, @test2, @test3)"
var pattern = @"(?<=@)[^@]*(?=>,)";
foreach (var m in System.Text.RegularExpressions.Regex.Split(str, pattern))
{
Console.WriteLine(m);
}
这将返回整个字符串:
INSERT INTO test (test, test1, test2, test3) values (@test, @test1, @test2, @test3)
我希望你们中的一些人可以帮助我,因为这是我的计划工作的最后一针。
答案 0 :(得分:1)
你试过string pattern = @"@[a-zA-Z0-9]+";
吗?
答案 1 :(得分:1)
嗯,我不喜欢正则表达式,但很多人都是,所以我会给你答案作为一个很好的旧字符串方法:
var parameters = str.Split('@').Skip(1).Select(var=>"@" + var.Trim(new[] {',',')', ' '}));