【发布时间】:2018-06-21 16:34:17
【问题描述】:
任意字符串来自远程服务。
根据Body:子字符串的存在,我必须以各种方式解析它,我这样做:
String longString = service.getString();
if (longString.indexOf("Body:") != -1) {
// some code
} else {
// enother code
}
但是当字符串进入并且看起来像Body:\Dsdqwe .... 时,逻辑从else 块运行。我该如何解决?
【问题讨论】:
-
在 if 之前添加一个打印语句,以打印 longString。如果字符串是 "Body:\...",这不应该转到 else 块
-
这是一个很长的
String,但我只需要关注Body:子字符串。也许\D会造成问题?它在else块中打印Body:\Dsdqwe... -
通常不会。索引应该是 0 而不是 -1
-
难道
\D这个字符可以去掉前面的字符或者破坏前面的行? -
没有。转义字符转义后面的字符。它不会(不应该)影响他们面前的事情