Я полный новичок в регулярных выражениях, и мне нужна помощь с разбиением строки. Я ввожу следующие данные
665 11% R 1 908K 388K fg root top
61 1% S 42 152404K 29716K fg system system_server
38 0% S 1 840K 340K fg root /system/bin/qemud
114 0% S 16 120160K 19156K fg radio com.android.phone
, который является ничем иным, как вашим обычным лучшим выходом. Что я намерен сделать, это выбрать на записи, как
655 11% R 1 fg root top
Теперь код, который я использую для следующего:
while ((inputLine = in.readLine()) != null)
{
String[] segs= inputLine.split("[ ]+");
str[i] = segs[0]+" "+segs[1]+" "+segs[2]+" "+
segs[3]+" "+segs[6]+" "+segs[7]+" "+segs[8];
Log.v("TOP Output", str[i]);
i++; j++;
}
Но проблема, с которой я сталкиваюсь, заключается в том, что я получаю на logcat
java.lang.ArrayIndexOutOfBoundsException
Где я иду не так, и что я мог сделать по-другому, чтобы предотвратить это. Спасибо за помощь.
РЕДАКТИРОВАТЬ: После прочтения комментариев я понимаю, у меня есть несколько пустых строк в моем выводе. Так что в таком случае, как я должен игнорировать эти строки. Я знаю, что должен соответствовать регистру, но не уверен насчет выражения или синтаксиса!