有谁知道如何区分字符'\"'
和 '"'
?我正在尝试预处理一个字符串,这个语句让我感到困惑。
system.assert(' "b" ' == ' "\"" '.replace('\"','b'); //FAILS, returns ' bbb '
有谁知道如何区分字符'\"'
和 '"'
?我正在尝试预处理一个字符串,这个语句让我感到困惑。
system.assert(' "b" ' == ' "\"" '.replace('\"','b'); //FAILS, returns ' bbb '
在您的示例中,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'));
你能试试这个(替换('\“'而不是替换('\”')):
system.assert(' "b" ' == ' "\"" '.replace('\\"','b');