Bagaimana saya bisa mendeteksi jika string berisi kata tertentu? Sebagai contoh, saya memiliki string di bawah ini yang bertuliskan:
@"Here is my string."
Saya ingin tahu apakah saya dapat mendeteksi kata dalam string, seperti "adalah" misalnya.
objective-c
string
nsstring
Alex
sumber
sumber
rangeOfString
.Jawaban:
Begini cara saya melakukannya:
Anda dapat dengan mudah menambahkan ini sebagai kategori ke
NSString
:sumber
containsString
terpapar di NSString.Gunakan kode berikut untuk memindai kata dalam kalimat.
sumber
Di iOS8 sekarang Anda dapat menggunakan:
Ada posting yang menarik tentang cara "retrofit" ke iOS7 di sini: http://petersteinberger.com/blog/2014/retrofitting-containsstring-on-ios-7/
sumber
Saya sarankan menggunakan NSLinguisticTagger . Kita bisa menggunakannya untuk mencari
Here is my string. His isn't a mississippi isthmus. It is?
Output ini:
Mengabaikan
His
mississippi
danisthmus
dan bahkan mengidentifikasiis
bagian dalamisn't
.sumber
Saya harap ini membantu Anda, .. tambahkan baris ini di file .m atau buat kelas terpisah dan integrasikan kode ini.
sumber
Dengan iOS 8 dan Swift, kita dapat menggunakan metode localizedCaseInsensitiveContainsString
sumber
Solusi lengkap pertama-tama akan memindai string (tanpa tambahan kosong), kemudian memeriksa apakah karakter sebelumnya yang kosong atau awal baris. Demikian pula, periksa apakah karakter yang mengikuti segera apakah kosong atau ujung baris. Jika kedua tes lulus maka Anda memiliki kecocokan. Tergantung pada kebutuhan Anda, Anda mungkin juga memeriksa
,
,.
,()
, dllPendekatan alternatif, tentu saja, adalah mengurai string menjadi kata-kata dan memeriksa setiap kata secara terpisah.
sumber