我正在做一个项目,我需要跳过所有以“”开头的行。我有以下代码:
String line = reader.readLine();
boolean containsChar;
try { containsChar = line.charAt(0) != '\"'; }
catch (Exception ex) { containsChar = true; }
while (line != null && containsChar) {
line = reader.readLine();
try { containsChar = line.charAt(0) != '\"'; }
catch (Exception ex) { containsChar = true; }
}
我以前只有一小段代码,但是可以检测出该行中任何地方包含““”的行:
while (line != null && !line.contains("\"")) { line = reader.readLine(); }
我做这件事的方法很短,但是一行可能是空的。在这种情况下,代码返回异常:
while (line != null && line.charAt(0) != '\"') { line = reader.readLine(); }
题:
是否有可能与以下代码类似,而try-catch在while测试中?
while (line != null && (try { line.charAt(0) != '\"'; }catch (Exception ex) { true; })) { line = reader.readLine(); }
解:
在其中的一条评论中,Thilo给出了一个可以在任何索引处使用char的解决方案(在此示例中为12):
( line.length() > 12 && line.charAt(12) == something)
最佳答案
我想你想要String#startsWith
while (line != null && !line.startsWith(quote))