Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用字符串并替换_C#_Asp.net - Fatal编程技术网

C# 使用字符串并替换

C# 使用字符串并替换,c#,asp.net,C#,Asp.net,如果字符串的格式如下,我可以用什么来替换它 I' have a "car" that runs very well 基本上我有一个搜索功能 如果他们只是键入,,它就找不到了,所以我找到了 mySearchWord.Replace("'", "''") 然后它找到了,但是现在如果在同一个句子或单词中有一个“和”,我怎么能在mySearchWord中检查这两个呢 因为对于这两种情况,我都会这样做 mySearchWord.Replace("'", "''") mySearch

如果字符串的格式如下,我可以用什么来替换它

   I' have a "car" that runs very well
基本上我有一个搜索功能

如果他们只是键入
,它就找不到了,所以我找到了

mySearchWord.Replace("'", "''") 
然后它找到了,但是现在如果在同一个句子或单词中有一个
,我怎么能在mySearchWord中检查这两个呢

因为对于这两种情况,我都会这样做

    mySearchWord.Replace("'", "''") 

mySearchWord.Replace("\"", "\"") //have no idea about this one
或者类似的事情,有没有一种方法可以立刻做到

我想下面有人给我指出了正确的方向,我只需要能够将撇号或引号传递给我的搜索,但它抛出了一个错误maube,因为当传递时,就像在sql中一样,您需要转义引号或撇号

mySearchWord.Replace("''", "[{just_to_replace}]").Replace("'", "''").Replace("[{just_to_replace}]", "''");
很酷,不是吗


很酷,不是吗。

这实际上同时取代了这两者:

string text = "I' have a \"car\" that runs very well";
string pattern = "['\"]";
var result = Regex.Replace(text, pattern, m => (m.Value == "'") ? "''" : "\"\"");
我应该解释一下

这是使用一种称为正则表达式的方法。
模式
变量是正则表达式模式,用于匹配字符串
文本
中的内容。在这种情况下,模式声明它应该匹配文本中的所有
'
字符。模式
[abc]
将匹配所有
a
b
c
字符

正则表达式一开始看起来很复杂,但功能非常强大

您可以在
System.Text.RegularExpressions
命名空间中找到
Regex

以下是它的文档:


代码
m=>(m.Value==“”)?“'':“\”\''
是一个Lambda表达式,它是委托
匹配计算器的缩写。

这实际上同时替换了这两个表达式:

string text = "I' have a \"car\" that runs very well";
string pattern = "['\"]";
var result = Regex.Replace(text, pattern, m => (m.Value == "'") ? "''" : "\"\"");
我应该解释一下

这是使用一种称为正则表达式的方法。
模式
变量是正则表达式模式,用于匹配字符串
文本
中的内容。在这种情况下,模式说明它应该匹配文本中的所有
'
字符。模式
[abc]
将匹配所有
a
b
c
字符

正则表达式一开始看起来很复杂,但功能非常强大

您可以在
System.Text.RegularExpressions
命名空间中找到
Regex

以下是它的文档:


代码
m=>(m.Value==“”)“:“\”\”
是一个Lambda表达式,它是代理
MatchEvaluator
()的缩写。

我不确定是否遵循,所以您想要“=>”(两个单勾),但您想要“=>"? 后者有什么意义?或者我误读了?你能澄清一下吗?我已经读了3遍了,但我不确定你的目的。也许如果你给我们展示了这个例子中你想要的文本响应字符串是什么样子的?我可能会使用StringBuilder或Regex类,或者我不确定我是否遵循,所以你想要“=>”(两个单勾),但你想要“=>”?后者有什么意义?或者我误读了?你能澄清一下吗?我已经读了3遍了,但我不确定你的目的。也许如果你给我们展示了这个例子中你想要的文本响应字符串是什么样子的?我可能会使用StringBuilder或Regex类或+1,速度比我快,但我想说的是,你没有马上这么做;)只有一行……遗憾的是
string
s是不可变的!:-)
mySearchWord=…
+1比我快,但我想说的是,你不是马上就做的;)只有一行……遗憾的是
string
s是不可变的!:-)<代码>我的搜索词=…