我正在尝试将insert
一些文本数据放入SQL Server
9中的表中.
该文本包括单引号(').
我怎么逃避?
我尝试使用两个单引号,但它给我一些错误.
例如. insert into my_table values('hi, my name''s tim.');
在JavaScript中,反引用†似乎与单引号相同.例如,我可以使用反引号来定义这样的字符串:
var s = `abc`;
Run Code Online (Sandbox Code Playgroud)
有什么方法可以使反引号的行为实际上与单引号的行为不同?
†请注意,在程序员中,"反引号"是更常被称为重音符号的名称.程序员有时也使用替代名称 "反引号"和"反向".此外,在Stack Overflow和其他地方,"反击"的其他常见拼写是"后退"和"后退".
javascript backticks template-strings single-quotes backquote
我需要将一个字符串传递给程序作为Bash CLI中的参数,例如
program "don't do this"
Run Code Online (Sandbox Code Playgroud)
该字符串可能包含任何字符,如'$'
,'\'
等等,我不希望Bash做任何修改.所以我考虑使用单引号.
但是以下不起作用:
program 'don\'t do this' //escape doesn't work in single quote
Run Code Online (Sandbox Code Playgroud)
虽然以下两个工作:
program $'dont\'t do this' //seems fine, but any other side effects?
program 'dont'\''do this' //breaking into 3 parts
Run Code Online (Sandbox Code Playgroud)
第一种方法似乎更好,因为它获得前修改以下(把美元符号在前面,并替换每\
到\\
),但我不知道还有什么美元符号可能会做.
我真的用谷歌搜索了这个,但我找不到我需要的东西......
Vim中single('
)和double("
)引号之间的区别是什么?是否会产生速度差异?在其中运行函数时,使用一个或另一个更好吗?它有关系吗?
我特别感兴趣的是他们在.vimrc
文件中的使用.
我问,因为我发现人们同时使用两者,我想知道有什么区别.我尝试谷歌这个,但无法找到任何东西.
这可能是一个小问题......
但就在不久之前,我正在查看我编写的一些代码,并注意到我倾向于使用="something"
并且='something_else'
完全可以互换,通常在同一个函数中.
所以我的问题是:是否有使用一个或其他(单引号或双引号)的R代码有不同的行为?或者他们完全是同义词?
我试图在里面用单引号操纵一个JSON,我遇到了一些麻烦:
1.-当我有一个函数时,我不能作为参数传递一个带有单引号的JSON字符串:这是函数:
CREATE OR REPLACE FUNCTION public.give_me_text
(
IN text json
)
RETURNS JSON AS
$$
DECLARE
v_text varchar;
begin
RAISE NOTICE 'text: %', text;
v_text:=text || '- hello';
return v_text;
end
$$
LANGUAGE 'plpgsql';
Run Code Online (Sandbox Code Playgroud)
通过调用这样工作:
SELECT * FROM give_me_text
(
'{"es":"name 1","en":"name 2","de":"name 3","fr":"name 4","pt":"name 5"}'
);
Run Code Online (Sandbox Code Playgroud)
但是当我得到一个单引号不起作用时:
SELECT * FROM give_me_text
(
'{"es":"nam'e 1","en":"name 2","de":"name 3","fr":"name 4","pt":"name 5"}'
);
Run Code Online (Sandbox Code Playgroud)
2.-当我试图插入单引号的JSON值时,它给了我同样的错误:这是有效的:
INSERT INTO public.my_columns VALUES ('{ "name": "Book the First", "author": { "first_name": "Bob", "last_name": "White" } }');
Run Code Online (Sandbox Code Playgroud)
但这不起作用: …
我的资源包中定义了 3 个属性:
test.key1 = Just a normal snippet.
test.key2 = snippet with {0} arguments {1}.
test.key3 = snippet with 'charac'ter'.
test.key4 = snippet with {0} arguments' and 'characters {1}.
Run Code Online (Sandbox Code Playgroud)
以下是我在 jsp 中访问它们的方法:
<spring:message code="test.key1"/>
<spring:message code="test.key2" arguments="ARG1,ARG2"/>
<spring:message code="test.key3"/>
<spring:message code="test.key4" arguments="ARG1,ARG2"/>
Run Code Online (Sandbox Code Playgroud)
渲染后它们看起来像这样:
Just a normal snippet.
snippet with ARG1 arguments ARG2.
snippet with 'charac'ter'.
snippet with ARG1 arguments and characters {1}.
Run Code Online (Sandbox Code Playgroud)
所以基本上发生的情况是:一旦'
出现(单引号)字符,参数就不再填充,并且单引号也不再呈现。有趣的是,当单独应用参数或单引号时,spring 没有任何问题。
我能够通过使用 2x 单引号来修复测试场景 4,如下所示:
test.key4 = snippet with {0} arguments'' and ''characters {1}. …
Run Code Online (Sandbox Code Playgroud) 我已经使用 Visual Studio Code 两天了。我尝试构建一个 Vue 应用程序。但总是当我通过 运行应用程序时npm run serve
,我会收到以下错误:
9:9 error Strings must use singlequote quotes
9:15 error Missing trailing comma comma-dangle
? 2 problems (2 errors, 0 warnings)
2 errors and 0 warnings potentially fixable with the `--fix` option.
Run Code Online (Sandbox Code Playgroud)
我理解这些错误的含义,我尝试用单引号输入字符串并在每一行的末尾插入逗号。但是Visual Studio Code总是去掉逗号,把单引号变成双引号……这里可以看到我安装了哪些插件:
我探索了所有主题,发现这个问题没有答案,每个人都在使用搜索和替换,这不是重点。当接受完成时,我们必须设置属性的默认值。我刚刚发现如何更改它,所以我也决定与您分享。希望能帮助到你
就是这样了。简单快捷
我希望 .net core System.Text.Json 在转义字符进行序列化时忽略单引号字符,但我无法让它工作:
var encoderSettings = new TextEncoderSettings();
encoderSettings.AllowRange(UnicodeRanges.BasicLatin);
encoderSettings.AllowCharacters('\u0027');
var options = new JsonSerializerOptions{
Encoder = JavaScriptEncoder.Create(encoderSettings)
};
System.Text.Json.JsonSerializer.Serialize(new { text = "abc 'zorro' 123" }, options);
Run Code Online (Sandbox Code Playgroud)
这将产生一个字符串:
{"text":"abc \u0027zorro\u0027 123"}
当我希望它是
{"text":"abc 'zorro' 123"}
这里有什么想法吗?只是不想转义单引号。我也尝试过将 替换\u0027
为\'
.
如果我这样做 - 它有效:
options = new JsonSerializerOptions
{
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping
};
jsonString = JsonSerializer.Serialize(new { text = "abc 'zorro' 123" }, options);
Run Code Online (Sandbox Code Playgroud)
...但这也会禁用所有字符的转义,包括<
,>
和&
(仅 JSON 标准要求转义的字符除外),我也不想要这些字符。
single-quotes ×10
quotes ×3
backquote ×1
backticks ×1
bash ×1
c# ×1
delimiter ×1
escaping ×1
html ×1
javascript ×1
json ×1
postgresql ×1
properties ×1
r ×1
spring ×1
sql ×1
sql-server ×1
t-sql ×1
vim ×1
vue.js ×1
vuejs2 ×1