0

有谁知道如何区分字符'\"''"'?我正在尝试预处理一个字符串,这个语句让我感到困惑。

system.assert(' "b" ' == ' "\"" '.replace('\"','b'); //FAILS, returns ' bbb '
4

2 回答 2

0

在您的示例中,Salesforce 基本上忽略了反斜杠,如下所示:

system.assert('"' == '\"'); // yup
system.assertEquals(1, '\"'.length()); // just one character
system.assertEquals(1, '"'.length()); // just one character--the same one

如果您的原始字符串中有一个真正的反斜杠字符,那么您需要使用另一个反斜杠转义该反斜杠,如下所示:

system.assertEquals(1, '\\'.length()); // just one character:  \
system.assertEquals(2, '\\"'.length()); // two characters:  \"
system.assert(' "b" ' == ' "\\"" '.replace('\\"','b'));
于 2012-06-11T19:25:20.393 回答
0

你能试试这个(替换('\“'而不是替换('\”')):

system.assert(' "b" ' == ' "\"" '.replace('\\"','b');
于 2012-06-10T20:34:05.263 回答