我有一个带有以下文本行的文件:

[一种]

这是一行。

这是另一行。

[B]

第三行。

...

等等。我想将此文件读入Java并查找仅包含[A]等的行,以供进一步参考。我试过了:

Resources res = getResources();
InputStream in_s = res.openRawResource(R.raw.texts);
byte[] b = new byte[in_s.available()];
in_s.read(b);
String textstring = new String(b);
String[] textarr = textstring.split("[\\r\\n]+");


然后:

int lineB = 0;
for (int i=0; i<textarr.length; i++) {
    if textarr[i].substring(0, 3) == "[B]") lineB = i;
 }


之后,行仍为零。首先,我认为这与新行的处理方式有关(我正在使用Windows),但是子字符串(0,3)也很不运气。我想要这给我lineB = 3,有什么想法我做错了吗?

最佳答案

像这样使用String#startsWith

int lineB = 0;
for (int i=0; i<textarr.length; i++) {
    if (textarr[i].startsWith("[B]"))
       lineB = i;
}

07-24 15:39