如何从来自Google Maps API的String中查找城市名称

时间:2012-09-04 13:07:52

标签: java string substring

我的应用程序中有2个Textbox。 1表示源地址,另一表示目标地址。两者都是自动完成文本框,我从Google Maps API获取数据。

来源地址 == SHAHIBAUGUNDERBRIDGE,Shahibagh, Ahmedab​​ad ,古吉拉特邦

目的地地址 == CGRoad,ShreyasColony,Navrangpura, Ahmedab​​ad ,古吉拉特邦

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

2 个答案:

答案 0 :(得分:2)

如果总是倒数第二,那么试试

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

答案 1 :(得分:0)

看起来Google正在将地址保存为:

[道路],[地点名称],[城市],[州]。

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

split接受一个正则表达式(作为字符串)用于拆分有问题的字符串。然而,似乎你只想分开“,”

所以如果你打电话:

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

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

如果你想访问该数组的倒数第二个元素,那就是:

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

现在请记住,“split()”需要一个正则表达式,所以要注意你传递它的字符串。