我需要获得在一堆\ r \ n \ r \ n垃圾之前出现的子字符串。所以我想geto第一个/那个出现。不接受indexOf(“\”)。 String.indexOf(“\”)与第一个不匹配。 ????? 感谢
答案 0 :(得分:3)
如果您要查找字符串中第一次出现\n
,那么搜索\\
将无济于事。您需要查找\n
。
String.indexOf("\n")
请注意\n
是一个字符,而不是两个字符。它是一个转义序列,用于计算ASCII值为10的字符。
答案 1 :(得分:1)
String s1 = "LINE1\r\n\r\nLINE2";
Matcher matcher = Pattern.compile(".+").matcher(s1);
if (matcher.find()) {
System.out.println(matcher.group());
} else {
System.out.println("String contains no character other than \\n and \\r");
}
或者更加变态:
String s1 = "LINE1\r\n\r\nLINE2";
BufferedReader br = new BufferedReader(new StringReader(s1));
try {
System.out.println(br.readLine());
} finally {
br.close();
}
两种情况下的输出:LINE1
答案 2 :(得分:0)
indexOf("/")
应该可以正常工作。为什么你说不是?
答案 3 :(得分:0)
答案 4 :(得分:0)
为什么indexOf('/')
不起作用?它返回错误的索引吗?正斜杠应该没问题 - 反斜杠(\
)是转义字符。
答案 5 :(得分:0)
如果您要查找'\',请使用.indexOf(“\”);