我创建了一个BufferedReader
方法,用于打开程序先前创建的文本文件并提取一些字符。我的问题是它提取整行,我想只在指定的字符:
之后提取。
这是我的try/catch
块:
try {
InputStream ips = new FileInputStream("file.txt");
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br1 = new BufferedReader(ipsr);
String ligne;
while((ligne = br1.readLine()) != null) {
if(ligne.startsWith("Identifiant: ")) {
System.out.println(ligne);
id = ligne;
}
if(ligne.startsWith("Pass: ")) {
System.out.println(ligne);
pass = ligne;
}
}
System.out.println(ligne);
System.out.println(id);
System.out.println(pass);
br1.close();
} catch (Exception ex) {
System.err.println("Error. "+ex.getMessage());
}
目前,我返回我的String
个ID,整个ligne
,pass
也一样 - 顺便说一下,所有sysout
都是测试,没用那里。
如果有人知道如何在:
而不是整行之后发送到ID,我可能搜索不好,但谷歌不是我的朋友。
答案 0 :(得分:1)
假设字符串中只有一个:符号,您可以使用
ceph osd tree
答案 1 :(得分:0)
使用StringUtils
StringUtils.substringAfter(id,“:”),
答案 2 :(得分:0)
为什么不尝试split()
上的ligne
?
如果您使用String[] splittedLigne = ligne.split(":");
,则splittedLigne
中将包含以下内容:
splittedLigne[0]
- >什么在:
splittedLigne[1]
- >什么是:
这将为您提供每条线路所需的信息。此外,如果您有多个:
,这将适用于您。