1

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

源地址== SHAHIBAUGUNDERBRIDGE,Shahibagh, Ahmedab​​ad , Gujarat

目的地地址== CGRoad,ShreyasColony,Navrangpura, Ahmedab​​ad , Gujarat

现在我想要的是从字符串中找到用户输入的城市名称。我尝试了不同的方法,但我们可以看到地址字符串的格式不固定,我无法获得城市名称。我发现获得城市名称的一个常见问题是它总是在最后一个“,”之前。如您所见,两个字符串中的 City name -> Ahmedab​​ad 在最后一个 (COMMA)"," 之前。但我仍然在努力获得城市名称。如果有人有任何想法,请帮助我。

4

2 回答 2

2

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

String [] vals = source_address.split(",");
String city = vals[vals.length - 2];
于 2012-09-04T13:13:04.577 回答
0

看起来谷歌将地址保存为:

[道路]、[位置名称]、[城市]、[州]。

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

split 接受一个正则表达式(作为一个字符串)来分割有问题的字符串。但是,您似乎只想拆分“,”

因此,如果您致电:

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

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

如果您想访问该数组的倒数第二个元素,则只需:

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

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

于 2012-09-04T13:24:56.283 回答