В приложении есть строка в следующем формате:
String elements = "[11, Джон,] [23, Адам,] [88, Энджи,] ..." (... означает, что в строке больше элементов)
Из заданной строки мне нужно создать ArrayList для идентификаторов имен (11, 23, 88, ...) и ArrayList для имен (Джон, Адам, Энджи, ...)
Я создал два метода:
private int getItemID(int listLocation, String inputString){
int indexBeginning = inputString.indexOf("[", listLocation) + 1;
int indexEnd = inputString.indexOf(",", listLocation) - 1;
String sID = inputString.substring(indexBeginning, indexEnd);
int result = Integer.parseInt(sID);
return result;
}
private String getItemName(int listLocation, String inputString){
int indexBeginning = inputString.indexOf(" ", listLocation) + 1;
int indexEnd = inputString.indexOf(",", indexBeginning) - 1;
String result = inputString.substring(indexBeginning, indexEnd);
return result;
}
и намереваемся использовать эти два метода в методе parseArrayString (String inputString), который я еще не написал, но который будет работать следующим образом:
private void parseCommunityList(String inputString){
int currentLocation = 0;
int itemsCount = count the number of "[" characters in the string
for(int i = 0; i < itemsCount; i++)
{
currentLocation = get the location of the (i)th character "[" in the string;
String name = getItemName(currentLocation, inputString);
int ID = getItemID(currentLocation, inputString);
nameArray.Add(name);
idArray,Add(ID);
}
}
Буду признателен, если кто-нибудь из вас предложит какой-нибудь более простой способ создания двух списков ArrayList из заданной строки.
Спасибо!