Posisi string python dari substring

Metode indeks string python () digunakan untuk mengembalikan indeks string input tempat substring ditemukan. Pada dasarnya, ini membantu kita untuk mengetahui apakah substring yang ditentukan ada di string input. Metode ini mengambil substring yang ditemukan sebagai parameter wajib

Ada dua parameter opsional yaitu indeks awal dan indeks akhir yang menentukan rentang tempat substring ditemukan. Jika kedua parameter ini tidak ditentukan, maka fungsi index() bekerja dari indeks ke-0 hingga akhir string. Jika substring tidak ditemukan dalam string input, ini memunculkan ValueError tidak seperti fungsi find()

Pada bagian berikut, kita akan belajar lebih banyak tentang metode ini

Sintaksis

Berikut ini adalah sintaks untuk metode python string index()

str.index(str, beg=0, end=len(string))

Parameter

Berikut ini adalah parameter dari metode python string index()

  • str - Parameter ini menentukan string yang akan dicari

  • beg - Parameter ini menentukan indeks awal. Nilai default adalah '0'

  • end − Parameter ini menentukan indeks akhir. Nilai default adalah panjang string

Nilai Pengembalian

Fungsi python string index() mengembalikan indeks jika ditemukan dan sebaliknya memunculkan ValueError

Contoh

Berikut ini adalah contoh metode find() string python. Dalam hal ini kami telah membuat string "Halo. Selamat datang di Tutorialspoint" dan, coba cari kata "to" di dalamnya

str1 = "Hello! Welcome to Tutorialspoint."
str2 = "to";
result= str1.index(str2)
print("The index where the substring is found:", result)
_

Saat menjalankan program di atas, output berikut dihasilkan -

The index where the substring is found: 15

Contoh

Spasi juga dihitung sebagai substring. Jika ada lebih dari satu spasi dalam string input, maka ruang pertama yang ditemukan dalam string input dianggap sebagai indeks resultan.

#!/usr/bin/python
str1 = "Hello! Welcome to Tutorialspoint."
str2 = " ";
result= str1.index(str2)
print("The index where the substring is found:", result)

Berikut ini adalah output yang diperoleh dengan menjalankan program di atas -

The index where the substring is found: 6
_

Contoh

Metode python string index() mengembalikan indeks tempat substring ditemukan dalam rentang indeks awal dan akhir yang ditentukan

#!/usr/bin/python
str1 = "Hello! Welcome to Tutorialspoint."
str2 = " ";
result= str1.index(str2, 12, 15)
print("The index where the substring is found:", result)

Output berikut diperoleh dengan menjalankan program di atas -

The index where the substring is found: 14
_

Contoh

Jika substring yang sama muncul lebih dari satu kali dalam string input, maka berdasarkan indeks awal atau akhir yang ditentukan sebagai parameter fungsi, indeks yang dihasilkan diperoleh

Dalam posting ini, Anda akan belajar bagaimana menemukan indeks substring dalam sebuah string, apakah itu substring pertama atau substring terakhir. Anda juga akan mempelajari cara menemukan setiap indeks substring dalam sebuah string

Mengetahui cara bekerja dengan string adalah keterampilan penting dalam perjalanan Python Anda. Anda akan mempelajari cara membuat daftar semua posisi indeks tempat substring tersebut muncul

Jawaban Cepat

Posisi string python dari substring

Daftar isi

Cara Menggunakan Python untuk Menemukan Indeks Pertama Substring dalam sebuah String

Jika semua yang ingin Anda lakukan adalah indeks pertama dari substring dalam string Python, Anda dapat melakukannya dengan mudah dengan metode str.index(). Metode ini sudah ada di dalam Python, jadi tidak perlu mengimpor paket apa pun

Mari kita lihat bagaimana Anda bisa menggunakan Python untuk menemukan indeks pertama dari sebuah substring dalam sebuah string

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the first index of 'the'
index = a_string.index('the')
print(index)

# Returns: 0

Kita dapat melihat di sini bahwa metode .index()_ mengambil parameter dari sub-string yang kita cari. Saat kami menerapkan metode ke string kami a_string, hasilnya mengembalikan 0. Ini berarti bahwa substring dimulai pada posisi indeks 0, dari string kita (mis. e. , itu kata pertama)

Mari kita lihat bagaimana Anda dapat menemukan indeks terakhir dari sebuah substring dalam string Python

Cara Menggunakan Python untuk Menemukan Indeks Terakhir Substring dalam sebuah String

Mungkin sering kali Anda ingin menemukan indeks terakhir dari substring dalam string Python. Untuk melakukannya, kita tidak dapat menggunakan metode string .index(). Namun, Python hadir dengan metode string yang mencari dari kanan ke kiri, artinya ia akan mengembalikan indeks kanan terjauh. Ini adalah metode

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
_0

Mari kita lihat bagaimana kita dapat menggunakan metode

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
1 untuk menemukan indeks terakhir dari substring di Python

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
_

Dalam contoh di atas, kami menerapkan metode

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
_0 ke string untuk mengembalikan posisi indeks terakhir dari substring kami

Cara Menggunakan Penemu Ekspresi Reguler (Regex) untuk Menemukan Semua Indeks Substring dalam String Python

Contoh di atas keduanya mengembalikan indeks yang berbeda, tetapi keduanya hanya mengembalikan satu indeks. Mungkin ada waktu lain ketika Anda mungkin ingin mengembalikan semua indeks substring dalam string Python

Untuk ini, kami akan menggunakan perpustakaan ekspresi reguler yang populer,

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
3. Secara khusus, kami akan menggunakan metode
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
_4, yang membantu Anda menemukan iterasi

Mari kita lihat bagaimana kita dapat menggunakan ekspresi reguler untuk menemukan semua indeks substring dalam string Python

import re

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find all indices of 'the'
indices_object = re.finditer(pattern='the', string=a_string)
indices = [index.start() for index in indices_object]
print(indices)

# Returns: [0, 31, 45, 76]

Contoh ini memiliki beberapa bagian yang bergerak. Mari uraikan apa yang telah kita lakukan langkah demi langkah

  1. Kami mengimpor
    a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"
    
    # Find the last index of 'the'
    index = a_string.rindex('the')
    print(index)
    
    # Returns: 76
    _3 dan mengatur variabel kami a_string seperti sebelumnya
  2. Kami kemudian menggunakan
    a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"
    
    # Find the last index of 'the'
    index = a_string.rindex('the')
    print(index)
    
    # Returns: 76
    _7 untuk membuat objek iterable yang berisi semua kecocokan
  3. Kami kemudian membuat pemahaman daftar untuk menemukan nilai
    a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"
    
    # Find the last index of 'the'
    index = a_string.rindex('the')
    print(index)
    
    # Returns: 76
    8, yang berarti posisi indeks awal dari setiap pertandingan, di dalam
  4. Akhirnya, kami mencetak daftar posisi awal indeks kami

Di bagian selanjutnya, Anda akan mempelajari cara menggunakan pemahaman daftar dengan Python untuk menemukan semua indeks substring dalam sebuah string

Cara Menggunakan Pemahaman Daftar Python untuk Menemukan Semua Indeks Substring dalam sebuah String

Mari kita lihat bagaimana Anda dapat menemukan semua indeks substring dalam sebuah string dengan Python tanpa menggunakan pustaka ekspresi reguler. Kami akan melakukannya dengan menggunakan pemahaman daftar

Ingin mempelajari lebih lanjut tentang pemahaman daftar Python?

Mari kita lihat bagaimana kita bisa melakukannya dengan menggunakan pemahaman daftar

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find all indices of 'the'
indices = [index for index in range(len(a_string)) if a_string.startswith('the', index)]

print(indices)

# Returns: [0, 31, 45, 76]

Mari kita lihat bagaimana pemahaman daftar ini bekerja

  1. Kami mengulangi angka dari 0 hingga panjang daftar
  2. Kami menyertakan posisi indeks nomor itu jika substring yang dibuat dengan memisahkan string kami dari indeks itu dan seterusnya, dimulai dengan huruf kami
  3. Kami mendapatkan daftar yang dikembalikan dari semua contoh di mana substring itu muncul di string kami

Di bagian terakhir tutorial ini, Anda akan belajar cara membuat fungsi kustom untuk mengembalikan indeks semua substring dalam string Python kita

Lihat beberapa tutorial Python lainnya tentang datagy, termasuk panduan lengkap kami untuk menata gaya Panda dan ikhtisar komprehensif kami tentang Tabel Pivot di Panda

Cara Membangun Fungsi Kustom untuk Menemukan Semua Indeks Substring dalam String dengan Python

Sekarang setelah Anda mempelajari dua metode berbeda untuk mengembalikan semua indeks substring dalam string Python, mari pelajari bagaimana kita dapat mengubahnya menjadi fungsi Python khusus

Mengapa kita ingin melakukan ini? . Di sinilah sebuah fungsi akan berguna, karena memungkinkan pembaca masa depan (yang mungkin, sangat baik, adalah Anda. ) tahu apa yang dilakukan kode Anda

Mari kita mulai

# Create a custom function to return the indices of all substrings in a Python string
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

def find_indices_of_substring(full_string, sub_string):
    return [index for index in range(len(full_string)) if full_string.startswith(sub_string, index)]

indices = find_indices_of_substring(a_string, 'the')
print(indices)

# Returns: [0, 31, 45, 76]

Dalam contoh fungsi kustom ini, kami menggunakan metode pemahaman daftar kami untuk menemukan indeks semua substring. Alasan untuk ini adalah karena tidak membuat ketergantungan tambahan

Kesimpulan

Dalam posting ini, Anda mempelajari cara menggunakan Python untuk menemukan indeks pertama, indeks terakhir, dan semua indeks substring dalam sebuah string. Anda telah mempelajari cara melakukannya dengan metode string reguler, dengan ekspresi reguler, pemahaman daftar, serta fungsi yang dibuat khusus

Bagaimana menemukan posisi substring dalam sebuah string dengan Python?

Python String find() method mengembalikan indeks terendah atau kejadian pertama dari substring jika ditemukan dalam string yang diberikan. Jika tidak ditemukan, maka kembali -1.

Bagaimana Anda menemukan posisi substring dari sebuah string?

Metode indexOf() mengembalikan posisi kejadian pertama dari karakter tertentu dalam sebuah string . Tip. Gunakan metode lastIndexOf untuk mengembalikan posisi kejadian terakhir dari karakter tertentu dalam sebuah string.

Bagaimana cara mencetak posisi string dengan Python?

Metode 1. Dapatkan posisi karakter dalam Python menggunakan rfind() Metode Python String rfind() mengembalikan indeks tertinggi dari substring jika ditemukan dalam string yang diberikan. Jika tidak ditemukan maka mengembalikan -1.

Bagaimana Anda menemukan indeks awal dan akhir dari substring dengan Python?

indeks() Parameter . sub - substring yang akan dicari di string str. start and end(opsional) - substring dicari di dalam str[start. akhir]