Как извлечь значения из списка значений, разделенных запятыми, когда некоторые из них равны нулю? - PullRequest
0 голосов
/ 08 января 2012

Веб-служба, которую я использую, возвращает список значений, разделенных запятыми:

a,b,,d,,f,,h,,j,,l,,,

Как вы извлекаете их в соответствующие переменные контейнера, когда некоторые из них пусты?

String a = ...;
String b = ...;
String c = ...;
String d = ...;
String e = ...;
String f = ...;
String g = ...;
String h = ...;
String i = ...;
String j = ...;
String k = ...;
String l = ...;

Ответы [ 3 ]

3 голосов
/ 08 января 2012
String[] arr = yourString.split(",", -1);
String a = arr[0];
String b = arr[1];
...etc...

Пустые строки будут возвращены как "", включая те, что в конце.Таким образом, "a,b,,".split(",", -1) приведет к следующему массиву: { "a", "b", "", "" }

Если, с другой стороны, вас не интересуют завершающие строки, если они пусты, выполните:

String[] arr = yourString.split(",");

Таким образом, завершающие пустые строки (если они есть) будут удалены.Следовательно, "a,b,,".split(",") приведет к { "a", "b" }

3 голосов
/ 08 января 2012
String[] result = "a,b,,d,,f,,h,,j,,l,,,".split(",");

Затем вы можете выделить ваши a, b, c и т. Д. Для элементов result

String a = result[0];
...
1 голос
/ 08 января 2012

Вам лучше использовать массив вместо отдельных переменных, a,b,.... Тогда вы можете просто использовать split, как предлагали другие, и покончить с этим:

String full_line = // get the full line from your web service.
String[] abc_etc = full_line.split(",");
// abc_etc now contains all fields, in order.  
// Do note that empty fields are stored as "", not null.

Если вам действительно нужно хранить их в отдельных переменных, вам придется делать это по одной:

String full_line = // get the full line from your web service.
String[] fields = full_line.split(",");
String a = fields[0];
String b = fields[1];
String c = fields[2];
...

Если вы хотите null вместо "", добавьте чек:

String a = fields[0].equals("")? null : fields[0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...