Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengekstrak Rentetan Antara Dua Watak yang Dikenali dalam Go?

Bagaimana untuk Mengekstrak Rentetan Antara Dua Watak yang Dikenali dalam Go?

Barbara Streisand
Barbara Streisandasal
2024-11-03 04:34:02282semak imbas

How to Extract a String Between Two Known Characters in Go?

Mengekstrak Rentetan daripada Dalam Rentetan dalam Go

Andaikan anda mempunyai rentetan seperti ini:

<h1>Hello World!</h1>

Bagaimana adakah anda mengekstrak "Hello World!" daripadanya menggunakan Go? Soalan ini amat relevan kepada pemula Go.

Penyelesaian:

Untuk mendapatkan rentetan tertentu antara dua aksara atau rentetan yang diketahui, anda boleh memanfaatkan kod Go berikut:

<code class="go">// GetStringInBetween returns an empty string if no start string is found
func GetStringInBetween(str, start, end string) string {
    s := strings.Index(str, start)
    if s == -1 {
        return ""
    }
    s += len(start)
    e := strings.Index(str[s:], end)
    if e == -1 {
        return ""
    }
    e += s + e - 1
    return str[s:e]
}</code>

Penjelasan:

Kod ini bermula dengan mencari indeks rentetan 'mula' dalam rentetan yang lebih besar. Jika tidak dijumpai, rentetan kosong dikembalikan. Ia kemudian menambah indeks dengan panjang rentetan 'mula' untuk menunjuk kepada aksara pertama selepas 'mula'.

Seterusnya, ia mencari indeks rentetan 'akhir' dalam subrentetan bermula dari sebelumnya. titik. Jika tidak ditemui, rentetan kosong dikembalikan semula.

Akhir sekali, kod mengira panjang subrentetan yang dikehendaki dengan menambah panjang 'mula' dan 'tamat' pada indeks 'tamat'. Ia kemudian menggunakan panjang ini untuk mengeluarkan rentetan daripada subrentetan.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Rentetan Antara Dua Watak yang Dikenali dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn