有人知道如何区分字符'\"'
和'"'
吗?
我正在尝试预处理字符串,这句话让我很困惑。
system.assert(' "b" ' == ' "\"" '.replace('\"','b'); //FAILS, returns ' bbb '
答案 0 :(得分:0)
请你试试这个(替换('\“'而不是替换('\”'):
system.assert(' "b" ' == ' "\"" '.replace('\\"','b');
答案 1 :(得分: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'));