Как разделить данные в Android при использовании soap

#android #string #split #substring

#Android #строка #разделить #подстрока

Вопрос:

У меня были сомнения при использовании soap, как разделить строку, есть ли какая-либо возможность.

 //this the original data

Afternoon-99127.79;
Night-67236.27;
Morning-61876.65;
Evening-20271.42;
Housekeeping-5444.05;

I need;
Afternoon        99127.79
Night            67236
Morning          61876.65;
Evening          20271.42;
Housekeeping     5444.05;
  

Я разделяю, используя точку с запятой, а затем я не знаю, как использовать вложенные строки, использовать начальный и конечный индексы, я не знаю, как давать значения..На самом деле я хочу разделить до «-» и после «-«.

Ответ №1:

Попробуйте этот способ, надеюсь, это поможет вам решить вашу проблему.

 String soapString = "Afternoon-99127.79;"  "Night-67236.27;"  "Morning-61876.65;"  "Evening-20271.42;"  "Housekeeping-5444.05;";

String[] splitedArray = soapString.split(";");
ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String, String>>();
 for (int i=0;i<splitedArray.length;i  ){
   HashMap<String,String> row =new HashMap<String, String>();
   row.put("firstString",splitedArray[i].split("-")[0]);
   row.put("secondString",splitedArray[i].split("-")[1]);
   list.add(row);
 }

 for (HashMap<String,String> data : list){
       System.out.println(data.get("firstString")  " " data.get("secondString"));
 }
  

Ответ №2:

 String total_string = "Afternoon-99127.79;Night-67236.27;Morning-61876.65;Evening-20271.42;Housekeeping-5444.05;";

String[] spilted_string = total_string.split(";");
for (int i=0;i<spilted_string.length;i  ){
   System.out.println(spilted_string[i].split("-")[0]);
   System.out.println(spilted_string[i].split("-")[1]);
}
  

ДЕМОНСТРАЦИЯ

Комментарии:

1. Большое вам спасибо, Харихаран

Ответ №3:

Разделить на ; , что даст вам массив элементов, разделенных на - . Затем разделите каждый элемент массива на -

Ответ №4:

 public class SplitEx {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String data = "Afternoon-99127.79;Night-67236.27;Morning-61876.65;Evening-20271.42;Housekeeping-5444.05;";

        String[] a = data.split(";");
        String[] b = new String[a.length];

        for (int i = 0 ; i < a.length; i  )
        {
            System.out.println(a[i]);
             b[i] = a[i].replace("-"," ");
        }

        for (int i = 0 ; i < b.length; i  )
        {
            System.out.println(" "  b[i]);

        }


    }

}
  

ВЫВОД МАССИВА B

 Afternoon 99127.79
Night 67236.27
Morning 61876.65
Evening 20271.42
Housekeeping 5444.05
  

Ответ №5:

используйте Strin[] a = myString..split(«-«); Этот фрагмент кода разделит строку на «-» и сохранит ее в массиве строк.

Но я рекомендую вам использовать разреженный массив. Передайте свои данные с помощью SparseArray и примите их таким же образом. Это быстрее, чем Hashmap. Попробуйте.