我想替换字符串中的单引号。这不包括开始和结束单引号。例如:
输入:这是输入的几个示例
myString = "'O'Nel'"
myString = "'OR'Nel, Dan' "
myString = "'OA'Nel'Test, John; random's t'est'"
输出这就是我想要的结果
myString = "'O''Nel'"
myString = "'OR''Nel, Dan' "
myString = "'OA''Nel''Test, John; random''s t''est'"
到目前为止我尝试过的。这段代码将替换开始和结束单引号,这是我不想要的。我想保持代码简单,也许有一个内置函数
myString = myString.Replace("'","''")
output myString = "''O''Nel''"
这几乎总是关于准备在 SQL 语句中使用的字符串。如果这不是这里发生的情况,您可以忽略它。但如果是这样,你想走一个完全不同的方向。您根本不需要更改字符串,而应该执行类似这样的操作:
myString
请注意,上述代码中(即使在数据库服务器上)任何时候都不会将的内容替换到 SQL 语句中。两者始终保持完全分开,因此不存在注入的可能性。作为奖励,数据库可以缓存执行计划,这意味着您通常还可以获得更快的数据库响应(不必每次都重建该部分),并节省在客户端上构建新字符串的工作和内存。
这是即使对于练习、学习和概念验证代码来说也非常重要而不能出错的几件事之一。
如果所有字符串的开头和结尾都有单引号,则需要一些基本的字符串函数
如果您需要 sql 语句中的字符串,您可以在这里看到 joe alreday 写了相同的答案如何创建参数化 SQL 查询?我为什么要?所以你根本不需要转义单引号
输出