Untuk mengekstrak dua kata pertama dalam string teks, Anda perlu menemukan lokasi relatif spasi kedua, lalu gunakan Fungsi Kiri Show
Rumus Salin rumus dan ganti "A1" dengan nama sel yang berisi teks yang ingin Anda ekstrak =IF((LEN(A1)-LEN(GANTI(A1," ","")))<2, A1, KIRI(A1,CARI(" ",A1, TEMUKAN(" ",A1)+1)- Contoh Untuk mengekstrak dua kata pertama dari string teks "Cara Mengekstrak Dua Kata Pertama" Hasilnya mengembalikan dua kata pertama "How to" Penjelasan Langkah 1. Untuk menemukan lokasi ruang pertama Rumus=CARI(" ",A1)Hasil4Langkah 2. Untuk menemukan lokasi ruang kedua Rumus=CARI(" ",A1,CARI(" ",A1)+1)Hasil7Langkah 3. Ambil huruf sebelum spasi kedua Rumus=LEFT(A1,FIND(" ",A1,FIND(" ",A1)+1)-1)HasilCaraNamun, ketika string teks hanya memiliki satu atau dua kata, rumus "=LEFT(A1, FIND(" ", A1, FIND(" ", A1)+1)-1)" mengembalikan #VALUE. kesalahan. Untuk menghindari kesalahan ini, Anda perlu menggabungkannya dengan Fungsi IF Ketika tidak ada pemisah yang diteruskan ke metode Langkah selanjutnya adalah menggunakan list slicing untuk mendapatkan N kata pertama dari string Sintaks untuk mengiris daftar adalah Indeks Indeks Python berbasis nol, jadi item pertama dalam daftar memiliki indeks Irisan Jika Anda perlu menggabungkan N kata pertama menjadi sebuah string, gunakan metode Metode mengambil iterable sebagai argumen dan mengembalikan string yang merupakan gabungan dari string di iterable String metode yang dipanggil digunakan sebagai pemisah antar elemen Kami memanggil metode Dapatkan kata ke-N dalam sebuah String dengan PythonUntuk mendapatkan kata ke-N dalam sebuah string
Kami menggunakan metode Metode membagi string menjadi daftar substring menggunakan pembatas Ketika tidak ada pemisah yang diteruskan ke metode Langkah terakhir adalah mengakses daftar kata pada indeks N - 1 Indeks Python berbasis nol, jadi item pertama dalam daftar memiliki indeks Kita juga bisa secara eksplisit memberikan spasi sebagai argumen ke metode Sekarang metode Jika tidak ada argumen yang diteruskan ke metode, string akan dibagi menjadi satu atau beberapa karakter spasi. Ini termasuk spasi, tab, dan baris baru ( Ekspresi reguler (RegEx) adalah alat yang sangat ampuh untuk memproses dan mengekstraksi pola karakter dari teks. Ekspresi Reguler cepat dan membantu Anda menghindari penggunaan loop yang tidak perlu dalam program Anda untuk mencocokkan dan mengekstrak informasi yang diinginkan Dalam posting ini, kami akan menunjukkan kepada Anda bagaimana Anda dapat menggunakan ekspresi reguler dengan Python untuk menyelesaikan jenis masalah tertentu
Mari kita pahami bagaimana Anda dapat menggunakan RegEx untuk menyelesaikan berbagai masalah dalam pemrosesan teks. Dalam posting ini kami berfokus pada mengekstraksi kata-kata dari string Menggunakan Ekspresi Reguler dengan PythonUntuk mulai menggunakan Ekspresi Reguler dengan Python, Anda perlu mengimpor modul text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." 7 Pythonimport re _Kami telah membagi posting ini menjadi 3 bagian yang tidak terkait satu sama lain dan Anda dapat langsung menuju ke salah satu dari mereka untuk mulai bekerja, tetapi jika Anda tidak terbiasa dengan RegEx, kami sarankan Anda mengikuti posting ini secara berurutan. Kami akan menggunakan text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." 8fungsi yang disediakan dalam modul text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." 7 di seluruh posting ini untuk menyelesaikan masalah kami. Mari kita mulaiMenggunakan "cities_record = 'Chennai' _0 Operator untuk Mengekstrak semua Kemunculan Kata TertentuAnggaplah Anda memiliki paragraf teks berikut yang menjelaskan berbagai kota dan Anda menginginkan daftar semua kejadian untuk kota tertentu text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." Sekarang, Anda ingin mengekstrak semua kemunculan Chennai, yang dapat Anda lakukan seperti ini cities_record = 'Chennai' _Di sini, text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." 8 adalah metode di text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." 7 yang mengambil dua parameter — pertama pola yang akan dicari, dalam hal ini adalah cities_record = 'Chennai' 3 dan parameter kedua adalah konten di cities_record = 'Chennai' 4, dari mana ia akan mencari polaMetode ini mengembalikan semua kecocokan pola yang tidak tumpang tindih, yang ada dalam variabel cities_record = 'Chennai' 5, dari string parameter kedua, yang ada dalam variabel cities_record = 'Chennai' 6 dalam kasus kami, sebagai daftar stringOleh karena itu, sel kode di atas akan mengembalikan daftar semua kemunculan kata cities_record = 'Chennai' 3 dalam string kami dan karenanya akan mengembalikan daftar berikutcities_record = 'Chennai' _8Tapi tunggu sebentar. Dokumen kami memiliki Chennai yang muncul 4 kali tetapi daftar hanya menunjukkan 2. Mengapa? Jika Anda perhatikan baik-baik di paragraf, Anda akan melihat bahwa untuk ketiga kalinya, nama kota ditulis sebagai cities_record = 'Chennai' 9 dengan cities_record = 'Chennai' 0 dalam huruf kecil
Jadi, bagaimana Anda menangkap cities_record = 'Chennai' _1 juga dalam satu langkah itu sendiri? . Anda dapat mengatur nilainya menjadi cities_record = 'Chennai' _4 sebagai berikutcities_record = 'Chennai' Dengan menyetel parameter flags ke cities_record = 'Chennai' _5, Anda memberi tahu juru bahasa untuk mengabaikan kasus saat melakukan pencarian. Saat menjalankan kode ini, Anda akan mendapatkan output berikutcities_record = 'Chennai' _6Mencari Banyak PolaSekarang, bersama dengan Chennai, Anda ingin mengekstrak semua kemunculan nama kota “Mumbai” dari paragraf teks ini. Anda cukup melakukan ini dengan menggunakan operator cities_record = 'Chennai' _7 untuk membuat pola Andacities_record = 'Chennai|Mumbai' Ini akan mengembalikan ['Chennai', 'Chennai', 'chennai', 'mumbai', 'Chennai', 'Mumbai'] Jadi intinya cities_record = 'Chennai' _7 adalah 'karakter khusus' yang memberitahu regex untuk mencari pola satu cities_record = 'Chennai' 9 pola dua dalam teks yang disediakanBagaimana jika Anda ingin mencari kemunculan cities_record = 'Chennai|Mumbai' 0 di dokumen Anda? . Garis miring terbalik cities_record = 'Chennai|Mumbai' 3 pada dasarnya memberitahu regex untuk membacanya sebagai karakter tanpa menyimpulkan arti khususnyaJadi dengan pencarian ini, tidak masalah jika nama kota ditulis sebagai "mUMBAI", "MUMBAI", "CHENNAI" atau "cHENNAI" di dokumen Anda. Semua kasus ini akan ditangkap, selama ejaan kota ditulis dengan benar. Jika Anda ingin memasukkan lebih banyak kota dalam pencarian Anda, Anda dapat memasukkannya lagi menggunakan operator cities_record = 'Chennai' 7Mengekstrak Kata yang Hanya Mengandung AbjadAda kalanya Anda ingin mengekstrak kata-kata yang hanya mengandung huruf. Contoh yang bagus untuk ini adalah jika Anda mendapatkan dokumen teks yang berisi nama semua buah dan sayuran beserta jumlah dalam kilogram yang dibeli seseorang dalam format berikut text = "\ Untuk mengekstrak hanya nama buah/sayur yang dibeli, Anda dapat membuat pola menggunakan kelas yang hanya berisi karakter. Polanya adalah sebagai berikut words_pattern = '[a-z]+' Dalam pola ini cities_record = 'Chennai|Mumbai' 5 menunjukkan kelas karakter dari cities_record = 'Chennai|Mumbai' 6 hingga cities_record = 'Chennai|Mumbai' 7. Operator cities_record = 'Chennai|Mumbai' _8 menunjukkan beberapa kejadian dari kelas karakter ini. Oleh karena itu, untuk mengekstraksi nama buah dan sayuran, Anda dapat menggunakan pola sebagai berikutre.findall(words_pattern, text, flags=re.IGNORECASE) Anda akan mendapatkan output berikut ['Banana', 'Apple', 'Carrot', 'Radish', 'Tomato'] Karakter cities_record = 'Chennai|Mumbai' _8 adalah karakter khusus dalam regex. Ini digunakan untuk mencocokkan 1 atau lebih pengulangan dari ekspresi reguler atau kelas sebelumnya yang dalam kasus kita adalah cities_record = 'Chennai|Mumbai' 5. Jadi itu cocok dengan 1 atau lebih pengulangan huruf kecil dan karenanya kita mendapatkan daftar di atas. Jika kita ingin menyertakan 1 atau lebih pengulangan huruf kecil dan huruf besar, kita dapat membuat pola sebagai berikuttext = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." 0Jadi dengan cara ini apapun tulisan buah dan sayuran kita, mereka akan ditangkap oleh pola ini bahkan tanpa menggunakan bendera cities_record = 'Chennai' 5Memahami Kelas Karakter di RegexTanda kurung siku adalah 'karakter khusus' dalam regex yang digunakan untuk mencocokkan sekumpulan karakter. Misalnya, ['Chennai', 'Chennai', 'chennai', 'mumbai', 'Chennai', 'Mumbai'] _2 akan cocok dengan ['Chennai', 'Chennai', 'chennai', 'mumbai', 'Chennai', 'Mumbai'] 3, ['Chennai', 'Chennai', 'chennai', 'mumbai', 'Chennai', 'Mumbai'] 4, atau ['Chennai', 'Chennai', 'chennai', 'mumbai', 'Chennai', 'Mumbai'] 5. Dalam kasus kami, kami telah menggunakan cities_record = 'Chennai|Mumbai' 5. Karakter ['Chennai', 'Chennai', 'chennai', 'mumbai', 'Chennai', 'Mumbai'] _7 saat digunakan di dalam ['Chennai', 'Chennai', 'chennai', 'mumbai', 'Chennai', 'Mumbai'] 8, menentukan rentang karakter yang dapat dicocokkan. Ini digunakan dengan menempatkannya di antara dua karakter yang merupakan batas bawah dan atas rentangKelas cities_record = 'Chennai|Mumbai' _5 akan cocok dengan huruf ASCII huruf kecil apa pun, text = "\ 0akan cocok dengan semua huruf kecil dari cities_record = 'Chennai|Mumbai' 6 hingga text = "\ 2 dan seterusnya. Jika Anda ingin mencocokkan text = "\ 3 literal di dalam tanda kurung siku, Anda harus menentukannya menggunakan garis miring terbalik text = "\ 4. Karakter backslash text = "\ _5 adalah karakter escape yang memberitahu regex untuk memperlakukan karakter berikut sebagai literal dan mengabaikan arti khususnyaRegex juga akan menganggap text = "\ _3 sebagai literal jika digunakan sebagai karakter awal atau awal di dalam tanda kurung siku seperti ini. text = "\ 7. Ini hanya akan cocok dengan text = "\ 8 dan text = "\ 3Mengekstraksi Kata-kata yang Diikuti oleh Pola TertentuAnda akan sering menemukan masalah di mana Anda harus mengekstrak kata/pola tertentu yang diikuti oleh karakter tertentu. Contoh yang baik dari hal ini adalah ketika Anda mendapat komentar pada artikel tertentu mungkin di situs web dan Anda ingin mengekstrak semua nama pengguna/id yang diberi tag di dalamnya Untuk kesederhanaan, mari kita asumsikan bahwa nama pengguna kita hanya boleh berisi huruf dan apa pun yang diikuti oleh words_pattern = '[a-z]+' 0 tanpa spasi adalah nama penggunaMari kita ambil komentar berikut sebagai contoh teks text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." _1Mari buat pola regex yang dapat digunakan untuk mencari semua nama pengguna yang diberi tag di komentar text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." _2Pola ekspresi reguler ini akan menemukan dan mengekstrak semua nama pengguna yang ditandai dalam komentar, tanpa bagian words_pattern = '[a-z]+' 0text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." _3Output untuk ekspresi reguler di atas adalah text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." _4Di sini, jika Anda memeriksa pola kita dengan hati-hati, kita telah meletakkan pola kita di dalam tanda kurung setelah words_pattern = '[a-z]+' 0. Pola dengan tanda kurung mengembalikan apa pun yang biasa dicocokkan dengan ekspresi yang ada di dalam tanda kurung tetapi dimulai atau diakhiri dengan apa pun yang disebutkan di luar tanda kurungArtinya, yang dicari dalam kasus ini adalah @ langsung diikuti oleh 1 atau lebih pengulangan huruf kecil/besar, tetapi hanya pola di dalam words_pattern = '[a-z]+' 3 yang dikembalikan sebagai objek yang diinginkan. Jadi, jika Anda menghapus operator words_pattern = '[a-z]+' _3 dari ekspresi reguler kamitext = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." 5Anda akan mendapatkan output berikut text = "Chennai is a beautiful city. It’s the capital of the state of Tamil Nadu. Chennai has an area close to 430 kilometer squares. Well chennai is not as large as mumbai which has an area of 603.4 kilometer squares. By road, Chennai is about 1500 kilometers away from Mumbai. Whereas, it is about 2200 kilometers away from Delhi, the capital of India." _6Ini adalah salah satu cara di mana Anda dapat menggunakan operator words_pattern = '[a-z]+' 3 untuk mengekstraksi pola tertentu yang kami minati, yang terjadi bersamaan dengan beberapa pola lain yang tidak ingin kami tangkap, seperti kami ingin mengabaikan simbol words_pattern = '[a-z]+' 0 dalam kasus kamiUntuk memahami semua komponen dasar regex dengan Python, cara terbaik untuk melakukannya adalah dengan membuka dokumentasi resmi Python 3. 8 RegEx di sini Bagaimana Anda memisahkan dua kata dalam string Python?Memisahkan string dengan Python cukup sederhana. Anda dapat mencapai ini menggunakan fungsi "split()" bawaan Python . Metode split() di Python memisahkan setiap kata dalam string menggunakan koma, mengubahnya menjadi daftar kata.
Bagaimana Anda mengekstrak dua kata pertama dengan Python?Untuk mengekstrak dua karakter pertama dari daftar dengan Python, Anda dapat menggunakan [. 2] yang merupakan versi singkat dari [0. 2].
Bagaimana cara mengekstrak kata-kata tertentu dari sebuah string?Jika kita ingin mengekstrak kata tertentu dari string dan kita tidak mengetahui posisi pasti kata tersebut, kita dapat mencari posisi kata menggunakan find() terlebih dahulu . .
Bagaimana cara mengekstrak teks tertentu dengan Python?Cara mengekstrak bagian tertentu dari file teks menggunakan Python . Pastikan Anda menggunakan Python 3 Membaca data dari file teks Menggunakan "dengan terbuka" Membaca file teks baris demi baris Menyimpan data teks dalam sebuah variabel Mencari teks untuk substring Memasukkan ekspresi reguler Menyatukan semuanya |