请问如何提取这样的字符串C#中

来源:百度知道 编辑:UC知道 时间:2024/04/28 11:36:27
string s="select * from admin where userName=@username and pass=@pass";

我想提取@username和@pass这两个字符串,前提是不知道@username和@pass的长度

用正则表达式
给你个例子msdn上的
面的代码示例使用 Match.Result 来从 URL 提取协议和端口号。例如,“http://www.contoso.com:8080/letters/readme.html”将返回“http:8080”。
String Extension(String url)
{
Regex r = new Regex(@"^(?<proto>\w+)://[^/]+?(?<port>:\d+)?/",
RegexOptions.Compiled);
return r.Match(url).Result("${proto}${port}");
}

针对你的需求的修改美中不足的是会把=符号戴上
Regex regex = new Regex(@"
[^=]+?(?<users>=\w+)[^=]+?(?<pass>=\w+)",
RegexOptions.Singleline);

string类型不需要指定长度