使用 C# 将所有引号设置为双引号
Set all quotes to double quote using C#
我尝试让用户能够在 CustomerName 中搜索带有引号的客户。
用户在设置为 customerNameTB 的 customerNameTextBox 中搜索用户。
如果用户使用引号 ('),它将被替换为双引号。
如果有三引号('''),它将被替换为双引号。
这是我的代码:
string customerNameTB = customerNameTextbox.Text;
customerNameTB.Replace("'", "''");
while (customerNameTB.Contains("'''"))
{
customerNameTB.Replace("'''", "''");
}
此代码后的结果是引号仍然是单引号。
这段代码有什么问题..
回答后编辑
我的代码应该是这样的:
string customerNameTB = customerNameTextbox.Text;
customerNameTB = customerNameTB.Replace("'", "''");
while (customerNameTB.Contains("'''"))
{
customerNameTB = customerNameTB.Replace("'''", "''");
}
你很接近!这就是您所需要的:
string customerNameTB = customerNameTextbox.Text;
// single quotes
customerNameTB = customerNameTB.Replace("'", "''");
// triple quotes
customerNameTB = customerNameTB.Replace("'''", "''");
替换不会在原始字符串中替换它,它 returns 一个新字符串,您必须将其分配给某些东西,否则它就会被丢弃。
String.Replace 不会修改它所在的字符串 运行。
您需要将 Replace 的结果分配给您的字符串:
string customerNameTB = customerNameTextbox.Text;
customerNameTB=customerNameTB.Replace("'", "''");
customerNameTB=customerNameTB.Replace("'''", "''");
另外,不需要循环,因为 Replace 会替换所有出现的搜索字符串。
我尝试让用户能够在 CustomerName 中搜索带有引号的客户。
用户在设置为 customerNameTB 的 customerNameTextBox 中搜索用户。
如果用户使用引号 ('),它将被替换为双引号。
如果有三引号('''),它将被替换为双引号。
这是我的代码:
string customerNameTB = customerNameTextbox.Text;
customerNameTB.Replace("'", "''");
while (customerNameTB.Contains("'''"))
{
customerNameTB.Replace("'''", "''");
}
此代码后的结果是引号仍然是单引号。
这段代码有什么问题..
回答后编辑
我的代码应该是这样的:
string customerNameTB = customerNameTextbox.Text;
customerNameTB = customerNameTB.Replace("'", "''");
while (customerNameTB.Contains("'''"))
{
customerNameTB = customerNameTB.Replace("'''", "''");
}
你很接近!这就是您所需要的:
string customerNameTB = customerNameTextbox.Text;
// single quotes
customerNameTB = customerNameTB.Replace("'", "''");
// triple quotes
customerNameTB = customerNameTB.Replace("'''", "''");
替换不会在原始字符串中替换它,它 returns 一个新字符串,您必须将其分配给某些东西,否则它就会被丢弃。
String.Replace 不会修改它所在的字符串 运行。 您需要将 Replace 的结果分配给您的字符串:
string customerNameTB = customerNameTextbox.Text;
customerNameTB=customerNameTB.Replace("'", "''");
customerNameTB=customerNameTB.Replace("'''", "''");
另外,不需要循环,因为 Replace 会替换所有出现的搜索字符串。