Ich bekomme Adresse mit Geocoder. Manchmal bekomme ich zweimal die Stadt oder die Postleitzahl. Ich möchte diese doppelten Wörter entfernen, um die Adresse akzeptabler zu machen. Gibt es eine Möglichkeit, dies zu tun? Ich suchte nach dem Entfernen von doppelten Wörtern aus der Zeichenfolge, aber nur eine gute result, aber es hat in meinem Fall nicht funktioniert. Aus dem folgenden Code, wenn ich meine aktuelle Adresse holen, bekomme ich Ergebnis:Entfernen Sie doppelte Wörter von der Adresse
Street no 0360
DH Block(Newtown), Action Area I, Newtown
New Town, West Bengal 700156
New Town
700156
India
-Code
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = null;
String result = null;
try {
addresses = geocoder.getFromLocation(location.getLatitude(),location.getLongitude(),1);
} catch (IOException ioException) {
errorMessage = getString(R.string.service_not_available);
Log.e(TAG, errorMessage, ioException);
} catch (IllegalArgumentException illegalArgumentException) {
errorMessage = getString(R.string.invalid_lat_long_used);
Log.e(TAG, errorMessage + ". " +"Latitude = " + location.getLatitude() +", Longitude = " + location.getLongitude(), illegalArgumentException);
}
if (addresses == null || addresses.size() == 0) {
if (errorMessage.isEmpty()) {
errorMessage = getString(R.string.no_address_found);
Log.e(TAG, errorMessage);
}
deliverResultToReceiver(AppUtils.LocationConstants.FAILURE_RESULT, errorMessage, null);
} else {
Address address = addresses.get(0);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {
sb.append(address.getAddressLine(i)).append(" ");
}
sb.append(address.getLocality()).append(" ");
sb.append(address.getPostalCode()).append(" ");
sb.append(address.getCountryName());
result = sb.toString();
}
Bitte erläutern Sie, warum die verknüpfte Frage nicht funktioniert hat. Genau so entfernen Sie Dubletten und erhalten Ordnung. Alle Elemente zu einem LinkedHashSet hinzufügen –
Ich habe versucht, aber ich habe immer noch das gleiche Ergebnis. – CodeAssasins
Es ist nicht klar, was Sie ausprobiert haben. Der einzige Wert, mit dem es arbeiten sollte, ist DH Block (Newtown), Aktionsbereich I, Newtown, aber nur, wenn Sie auf Leerzeichen aufteilen und einen nach Block hinzufügen, dann entfernen Sie die Klammern. Mit anderen Worten, ich denke, Sie haben nicht verstanden, wie Sie diese Antwort an den Code anpassen können, den Sie haben. Und was ist Ihre erwartete Leistung? –