我正在使用 C# (asp .net),并且我有一个文本框,它接受在数据库上执行查询的名称条目。
我想使用 IN 子句获取所有可能的值,但在我的 C# 页面中我得到 1 个字符串
例如 'john smith' 所以我使用正则表达式将其分解为 'john','smith'
string text1 = "'"+Regex.Replace(text,@"[^A-Za-z0-9\-\.\']+","','")+"'";
但是对于像“John smith Jr.”这样的名字或 'Bruce O'Brien',它失败了(由于特殊字符)
我的正则表达式中缺少什么?
谢谢
请您参考如下方法:
正则表达式不是执行此操作的最简单方法。相反,我会推荐 String.Split method ,它通过定义单词之间的空白字符来工作:
string fullname = "Bruce O'Brien";
string[] names;
Char[] separators = new Char [] {' '}; // only the space character, in this case
names = fullname.Split(separators);
获得名称数组后,如果需要的话,很容易将其转换为 csv 字符串。
