Salesforce Apex String替换有趣的业务

时间:2012-06-10 20:09:24

标签: apex-code

有人知道如何区分字符'\"''"'吗? 我正在尝试预处理字符串,这句话让我很困惑。

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

2 个答案:

答案 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'));
相关问题