2017-02-08 11 views
-1

У меня есть пользователь, город и страна из геокодера. В этом формате, как нижеКак я могу отформатировать это с помощью StringBuilder

D/ProfileFrg: StateName: Pune, Maharashtra 411053 
D/ProfileFrg: CountryName: India 

Я хочу отформатировать эту строку с помощью StringBuilder в одиночной линии: Пуна, Махараштра, Индия, который будет удален почтовый индекс.

Я не использовал StringBuilder, прежде чем я новичок в этом, может кто-нибудь помочь с решением этого?

+0

http://docs.oracle.com/javase/tutorial/java/data/buffers.html – Phil3992

+0

Почему вы думаете, что вы должны использовать 'StringBuilder'? Вместо, скажем, «Фортетера»? Или 'String.replace' {,' All'}? –

+0

@ AndyTurner, как я могу использовать его в моем случае? Чтобы удалить zipcode? – Contextioner

ответ

0
A better snippet would be as below. 

String abc = "D/ProfileFrg: StateName: Pune, Maharashtra 411053" + "D/ProfileFrg: CountryName: India"; 
     /* split results with below output. 
     * D/ProfileFrg StateName Pune, Maharashtra 411053D/ProfileFrg 
     * CountryName India 
     */ 
     String[] x = abc.split(":"); 

     String y = x[2] + ", " + x[4]; 
     /* y is Pune, Maharashtra 411053D/ProfileFrg, India */ 

     String[] z = y.split(" "); 
     /* z has Pune, Maharashtra 411053D/ProfileFrg, 
     * India 
     */ 
     String finalValue = z[1] + " " + z[2] + ", " + z[5]; 
     System.out.println(finalValue); 
+0

java.lang.ArrayIndexOutOfBoundsException: length = 1; index = 2 @ String y = x [2] + "," + x [4]; – Contextioner

+0

Обратите внимание, что я разделяю текст abc, который является строкой abc = "D/ProfileFrg: StateName: Pune, Maharashtra 411053" + "D/ProfileFrg: CountryName: India"; – Prashanth

+0

Имеет линии bothe D/ProfileFrg: StateName: Pune, Maharashtra 411053 и D/ПрофильFrg: CountryName: Индия – Prashanth

0

Ну, я нашел решение для замены чисел из строки.

String place = stateName + countryName; 
     place = place.replaceAll("[0-9]",""); 
     Log.d(TAG, place);