Wie um zu überprüfen, ob ein Array enthält ein bestimmtes Wort in einem String und es bekommen?
Ich habe eine String[]
und einen Eingang String
:
String[] ArrayEx = new String[1];
String textInput = "a whole bunch of words"
Was ich will zu tun ist, überprüfen Sie, ob die String
enthält ein Wort vorhanden in der Array
wie diesem.
Ex: textInput = "for example"
und ArrayEx[0] = "example"
Weiß ich über diese Methode:
Arrays.asList(yourArray).contains(yourValue)
aber es überprüft die vollständige String
Recht? Wie kann ich überprüfen, ob die String
enthält eine bestimmte Wort vorhanden im Array. Auch wenn es ist, von einem ArrayList
habe ich kein problem.
Auch, wenn ja, kann ich das Wort aus der String[]
? d.h. im obigen Fall erhalten die String
"Beispiel".
EDIT:
public void searchNearestPlace(String v2txt)
{
Log.e("TAG", "Started");
v2txt = v2txt.toLowerCase();
String[] places = {"accounting, airport, amusement_park, aquarium, art_gallery, atm, bakery, bank, bar, beauty_salon, bicycle_store, book_store, bowling_alley, bus_station, cafe, campground, car_dealer, car_rental, car_repair, car_wash, casino, cemetery, church, city_hall, clothing_store, convenience_store, courthouse, dentist, department_store, doctor, electrician, electronics_store, embassy, establishment, finance, fire_station, florist, food, funeral_home, furniture_store, gas_station, general_contractor, grocery_or_supermarket, gym, hair_care, hardware_store, health, hindu_temple, home_goods_store, hospital, insurance_agency, jewelry_store, laundry, lawyer, library, liquor_store, local_government_office, locksmith, lodging, meal_delivery, meal_takeaway, mosque, movie_rental, movie_theater, moving_company, museum, night_club, painter, park, parking, pet_store, pharmacy, physiotherapist, place_of_worship, plumber, police, post_office, real_estate_agency, restaurant, roofing_contractor, rv_park, school, shoe_store, shopping_mall, spa, stadium, storage, store, subway_station, synagogue, taxi_stand, train_station, travel_agency, university, veterinary_care, zoo"};
int index;
for(int i = 0; i<= places.length - 1; i++)
{
Log.e("TAG","for");
if(v2txt.contains(places[i]))
{
Log.e("TAG", "sensed?!");
index = i;
}
}
Sagen v2txt
war "awesome airport"
spürte die Log nicht angezeigt, obwohl alle anderen Protokolle zeigen, dass er arbeiten
Edit2:
Ich bin so peinlich, dass ich solch einen dunder Leiter Fehler. Mein array deklariert ist falsch. Es sollte eine "
vor jeder ,
. Ich bin so ein großer idiot!
Sorry, und ändern Sie es und lassen Sie wissen.
- Jungs, warum die down-votes. Gibt es etwas falsch. Bitte lass es mich auch wissen.
- Start mit docs.oracle.com/javase/7/docs/api/java/lang/...
- Ist das array von einem Wort nur Zeichenfolgen, oder können die array-Einträge haben volle Sätze, wie auch?
- Array ein oder 2 Worte. Und die String-Sätze
- Und Sie wollen wissen, ob der Satz enthält eines der Wörter aus dem array, oder einfach nur der (1-oder 2-Wort -) Sätze aus dem array?
- Ja genau, dass
- Wenn das array[0] ist "hello world", würde der Satz "Hallo dude" ein match?
- Nein. Aber wenn das der einzige Weg, ok.
- Bin ich traurig, dass alle von Ihnen korrekt waren, aber da konnte ich geben nur eine richtige gab ich es dem Kerl, der zuerst antwortete. Sorry. Aber ich gab jeder einen up-vote.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstens hat es nichts zu tun mit android
Zweite die Lösung
DEMO
BEARBEITEN :
Ändern Sie Ihr array zu
und so weiter mit anderen Werten, die mit der array-Deklaration hat es einen index.
textInput
ist, dass das, was Sie wollte? Hinzugefügt demo auchteilen Sie Ihre string und get array der Wörter
dann für jedes element in txArray prüfen, ob
txArray = textInput.split(" ");
erstellt array der WörterKönnen Sie Java - Reguläre Ausdrücke.
Versuchen Sie dieses;
Sting text2check = "Ihr Name":
.equals
sollte wohl.contains
"Wie kann ich überprüfen, ob der String enthält ein bestimmtes Wort vorhanden im Array?" ist das gleiche wie gibt es ein element in das array, für die die Eingabe-Zeichenfolge enthält dieses element
Java 8
(Die Worte können auch extrahiert werden, wenn nötig:)
Wenn Sie stecken bleiben mit Java 7 haben, müssen Sie re-implementieren "anyMatch" und "filter" selbst:
Java 7
Diesem wird ein String-array, und Suche durch alle Saiten auf der Suche nach einem bestimmten char-Sequenz in einem string. Auch native Android-apps sind programmiert in der Programmiersprache Java. Vielleicht finden Sie es nützlich zu Lesen, mehr auf Strings.
stringArray[i].contains(inputText)
sollte wohlinputText.contains(stringArray[i])