1

アプリケーションに 2 つの Textbox があります。送信元アドレスに 1 つ、宛先アドレスにもう 1 つ。どちらもオートコンプリート テキスト ボックスで、Google Maps API からデータを取得しています。

ソースアドレス== SHAHIBAUGUNDERBRIDGE、Shahibagh、アーメダバード、グジャラート

目的地住所== CGRoad、ShreyasColony、Navrangpura、Ahmedab​​ad Gujarat

今私が欲しいのは、ユーザーが文字列から入力した都市名を見つけることです。さまざまな方法を試しましたが、住所文字列の形式が固定されていないことがわかり、都市名を取得できません。都市名を取得するためによくあることの1つは、常に最後の「、」の前になることです。ご覧のとおり、City name -> Ahmedab​​ad の両方の文字列が最後の (COMMA)"," の前にあります。しかし、まだ都市名を取得するのに苦労しています。誰かが何か考えを持っているなら、親切に私を助けてください。

4

2 に答える 2

2

それが常に2番目に続く場合は、試してください

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

Googleがアドレスを次のように保存しているようです:

[道路]、[場所の名前]、[都市]、[州]。

あなたが正しいと仮定すると、都市は常に最後の "," の前にあり、文字列に対して split() メソッドを使用できます。

split は、問題の文字列を分割するために使用する正規表現を (文字列として) 受け取ります。ただし、「、」で分割したいだけのようです

したがって、次のように呼び出した場合:

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

次に、データに文字列の配列があります。"," の間の各セクションに 1 つの要素。

その配列の最後から 2 番目の要素にアクセスする場合は、次のようにします。

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

「split()」は正規表現を使用するため、渡す文字列に注意してください。

于 2012-09-04T13:24:56.283 に答える