2012-09-04 38 views
0

我的应用程序中有2个文本框。 1为源地址,另一个为目标地址。两者都是自动完成文本框,我从Google Maps API获取数据。如何从来自Google Maps API的字符串中找到城市名称

源地址 == SHAHIBAUGUNDERBRIDGE,Shahibagh,艾哈迈达巴德,古吉拉特

目标地址 == CGRoad,ShreyasColony,Navrangpura,艾哈迈达巴德,古吉拉特

现在我要的是找到用户从字符串输入的城市名称。我尝试了不同的方式,但是我们可以看到地址字符串的格式不固定,我无法获取城市名称。我弄清楚得到城市名称的一个常见事情是,它总会在最后一个“,”之前。正如你可以看到在两个字符串中的城市名称 - >艾哈迈达巴德在最后(COMMA)之前“,”。但我仍在努力争取“城市名称”。如果任何人有任何想法,请帮助我。

回答

1

如果它总是倒数第二个,然后尝试

String [] vals = source_address.split(","); 
String city = vals[vals.length - 2]; 
+0

太好了...非常感谢您的帮助。 – Scorpion

0

它看起来像谷歌是保存地址:

[公路],[地点名称],[城市],[状态]。

假设你是正确的,那么城市总是在最后一个“,”之前,那么你可以在字符串上使用split()方法。

拆分需要一个正则表达式(作为一个字符串)来使用来拆分有问题的字符串。但是似乎你只是想拆的“”

所以,如果你叫:

String [] data = myAddress.split(","); // assuming "myAddress" has the Google data 

那你现在有数据字符串数组。一个“,”之间的每个部分的一个元素。

如果你想访问数组的下一个到最后一个元素,它只会是:

String cityName = data[data.length-2]; // get the 2ed to last element 

现在还记得,“分割()”需要一个正则表达式,所以要注意字符串的你交上来。

相关问题