這裏是輸入我的功能爲什麼java String中的「contains」方法返回找不到?
"<div class=\"xbox\">TESTING<span class=\"newbox\"><a href=\"javascript:void(0);\" id=\"btnbox\">Use a new box</a></span></div><div class=\"cardnumber\">***-1111</div></div>"
當我做在它下面永遠不會返回任何東西,但-1
input.indexOf("cardnumber")
這是不工作的原因嗎?當我做一個的indexOf(「格」),它返回正常...(幫助)
感謝球員(對不起,不張貼早些時候單元測試)
public Cart viewCart() {
ResponseAndCookies result = service.makeHttpRequestWithUrl("https://www.xbox.com/account/fakebox/");
String response = result.getResponse();
String availableCreditCard = "<div class=\"cardnumber\">***";
if (response.contains(availableCreditCard)) {
return parseJson.parseCartAndReturnObject(response);
}
return null;
}
public class XboxViewCartServiceTest {
@Test
public void verify_cart_works_with_valid_login() {
FakeXboxCartParseJson jsonParser = new FakeXboxCartParseJson();
XboxViewCartService sut = new XboxViewCartService(new FakeXboxViewCartHttpBase(), jsonParser);
Cart cart = sut.viewCart(null);
Assert.assertTrue(jsonParser.calledMethod);
}
class FakeXboxViewCartHttpBase extends XboxHttpService {
@Override
public ResponseAndCookies doHttpPostWithUrl(String url, ResponseAndCookies responseAndCookies, String json) {
ResponseAndCookies result = new ResponseAndCookies();
result.setResponse("<div class=\"xbox\">TESTING<span class=\"newbox\"><a href=\"javascript:void(0);\" id=\"btnbox\">Use a new box</a></span></div><div class=\"cardnumber\">***-1111</div></div>");
return result;
}
}
class FakeXboxCartParseJson extends XboxCartParseJson {
public boolean calledMethod = false;
@Override
public Cart parseCartAndReturnObject(String html) {
calledMethod = true;
return null;
}
}
}
字符串中是否有非打印字符?在我看來,沒有理由在該輸入字符串中找不到'cardnumber'。 – 2011-05-24 01:05:28
我們可以看看剩下的代碼嗎? – Ryan 2011-05-24 01:07:03
似乎爲我工作。 http://ideone.com/voTHj – 2011-05-24 01:07:45