Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca selengkapnya.

Manipulasi string merupakan hal mendasar dalam pengembangan perangkat lunak; kebanyakan bahasa pemrograman menyediakan tipe string. String adalah urutan karakter: huruf, angka, dan simbol.

Manipulasi string berguna untuk berbagai aplikasi, mulai dari pemrosesan teks dan analisis data hingga pengembangan web. Operasi manipulasi string yang populer adalah penggabungan, validasi data, ekstraksi, dan pemformatan. Go menyediakan paket manipulasi string bernama "strings" di pustaka standar.

Paket string

Itu string package menyediakan berbagai fungsi berguna untuk manipulasi string dan operasi lainnya. Paket ini mencakup fungsionalitas untuk operasi substring, pemangkasan, pembandingan string, konversi string, pembuatan string, pemisahan, dan banyak lagi.

Anda dapat mengimpor paket string dengan menentukan nama paket dalam daftar impor Anda.

instagram viewer
impor"string"

Mencari Substring

Itu string package menyediakan tiga fungsi untuk mencari substring: the Mengandung fungsi, yang Berisi Apa saja fungsi, dan Berisi Rune fungsi.

Itu Mengandung fungsi memeriksa apakah string yang ditentukan berisi substring. Itu Berisi Apa saja fungsi memeriksa apakah string berisi karakter apa pun dalam substring, dan Berisi Rune fungsi memeriksa apakah string berisi rune (karakter Unicode).

impor (
"fmt"
"string"
)

fungsiutama() {
aString := "Halo Dunia!"
substring := "Dunia"
karakter := "aeiou"
lari := 'Hai'

fmt. Println (string. Berisi (aString, substring)) // Keluaran: benar
fmt. Println (string. BerisiAny (aString, karakter)) // Keluaran: benar
fmt. Println (string. BerisiRune (aString, aRune)) // Keluaran: benar
}

Anda dapat mengambil indeks substring dengan Indeks, IndexAny, IndexByte, Dan IndexFunc fungsi. Itu Indeks fungsi mengembalikan indeks substring, jika itu terjadi pada string lain yang diberikan. Itu IndexAny fungsi mengembalikan indeks contoh pertama titik kode Unicode atau -1 jika tidak ada karakter yang ada.

impor (
"fmt"
"string"
)

fungsiutama() {
aString := "Halo Dunia!"
substring := "dunia"
karakter := "wrld"
byteCharacter := byte('Hai')
lari := sajak('Hai')

fmt. Println (string. Indeks (aString, substring)) // Keluaran: 7
fmt. Println (string. IndexAny (aString, karakter)) // Keluaran: 7
fmt. Println (string. IndexByte (aString, byteCharacter)) // Keluaran: 4

f := fungsi(R sajak)bool {
kembali r == 'Hai'
}

fmt. Println (string. IndexFunc (aString, f)) // Keluaran: 4
fmt. Println (string. IndexRune (aString, aRune)) // Keluaran: 4
}

IndexByte mengembalikan indeks instance pertama dari karakter byte dalam string atau -1. Itu IndexFunc fungsi mengembalikan indeks ke dalam string titik Unicode pertama yang memenuhi fungsi yang diberikan. Akhirnya, IndexRune fungsi mengembalikan indeks instance pertama dari titik kode Unicode rune.

Mengganti Substring di Go

Itu Mengganti Dan Menggantikan semua fungsi bantuan dengan mengganti substring. Itu Mengganti fungsi mengambil string, substring asli, dan penggantian dan beberapa penggantian. Itu Menggantikan semua fungsi hanya mengambil string, substring awal, dan penggantian.

impor (
"fmt"
"string"
)

fungsiutama() {
string := "Ini adalah string uji yang akan dimodifikasi."
fmt. Println (string. Ganti (String, "adalah", "dulu", 1))
fmt. Println (string. Ganti (String, "adalah", "dulu", -1))
fmt. Println (string. Ganti Semua (String, "adalah", "dulu"))
}

Perhatikan bahwa Anda dapat menggunakan Replace dan ReplaceAll untuk mengganti setiap kemunculan dalam string.

Memisahkan dan Menggabungkan String

Itu string paket berisi Membelah, Berpisah Setelah, BerpisahSetelahN, Dan SplitN fungsi untuk memisahkan string yang mengembalikan potongan string.

Itu Membelah metode dipisahkan oleh pembatas yang ditentukan. Mirip dengan Membelah metode, yang Berpisah Setelah metode membagi string, tetapi menyertakan pemisah dalam hasilnya.

impor (
"fmt"
"string"
)

fungsiutama() {
s := "Ini adalah string uji yang akan dipisah."

fmt. Println (string. Pisahkan (s, " "))
fmt. Println (string. SplitAfter (s, " "))
fmt. Println (string. SplitAfterN(s, " ", 3))
fmt. Println (string. SplitN(s, " ", 3))
}

Itu BerpisahSetelahN metodenya mirip dengan Berpisah Setelah fungsi kecuali bahwa fungsi membagi string menjadi substring maksimum yang ditentukan. Itu SplitN metode membagi string ke jumlah maksimum yang ditentukan tanpa menyertakan pemisah dalam substring.

Anda dapat menggabungkan string dengan Bergabung fungsi dari string kemasan. Itu Bergabung fungsi mengambil irisan dan pembatas.

impor (
"fmt"
"string"
)

fungsiutama() {
fmt. Println (string. Bergabung([]rangkaian{"Halo", "Dunia"}, ":"))
// Keluaran: "Halo: Dunia"
}

Memanipulasi Kasus String

Memanipulasi huruf besar-kecil berguna untuk banyak tugas, termasuk bekerja dengan dokumentasi. Anda dapat menggunakan ToLower fungsi untuk huruf kecil, yaitu ToUpper fungsi untuk huruf besar, dan ToTitle fungsi untuk casing judul.

impor (
"fmt"
"string"
)

fungsiutama() {
s := "Ini adalah string tes."

fmt. Println (string. KeBawah (s)) // ini adalah string uji.
fmt. Println (string. ToUpper (s)) // INI ADALAH STRING UJI.
fmt. Println (string. ToTitle (s)) // INI ADALAH STRING UJI.
}

Membangun String di Go

Pembangun string adalah jenis yang memungkinkan penggabungan yang efisien di Go. Itu byte. Penyangga type adalah salah satu pembangun string yang umum digunakan. Itu byte. Penyangga metode mengimplementasikan buffer byte yang dapat ditumbuhkan dengan metode baca dan tulis untuk operasi, memungkinkan penambahan string yang efisien tanpa perlu membuat salinan baru, tidak seperti + operasi dan Bergabung fungsi.

impor (
"fmt"
"string"
)

fungsiutama() {
var b string. Pembangun

// Tulis beberapa string ke pembuat
B. WriteString("Ini ")
B. WriteString("adalah ")
B. WriteString("A ")
B. WriteString("tes ")
B. WriteString("rangkaian.")

// Dapatkan panjang pembangun
fmt. Cetak (b. Len())

// Ubah pembangun menjadi string
str :=b. Rangkaian()
fmt. Println (str)

// Setel ulang pembuat
B. Mengatur ulang()

// Tulis beberapa string lagi ke pembuat
B. WriteString("Ini ")
B. WriteString("adalah ")
B. WriteString("lain ")
B. WriteString("tes ")
B. WriteString("rangkaian.")

// Dapatkan kapasitas pembangun
fmt. Cetak (b. Topi())

// Ubah lagi pembangun menjadi string
str = b. Rangkaian()
fmt. Println (str)
}

Itu utama fungsi menunjukkan bagaimana Anda dapat menggunakan string. Pembangun tipe untuk membangun string yang efisien. Itu WriteString metode dari String. Pembangun type memperluas urutan string satu sama lain, dan Len metode mengembalikan panjang string yang dibangun.

Itu Rangkaian metode mengubah konten pembuat menjadi string, dan Mengatur ulang metode me-reset pembangun untuk bangunan string tambahan.

Itu Topi metode mengembalikan kapasitas pembangun. Ini adalah ruang saat ini yang dialokasikan Go untuk string.

Pemangkasan Tali di Go

Itu string package juga menyediakan fungsionalitas untuk memangkas string di Memangkas, Potong Kiri, TrimPrefix, TrimRight, TrimSpace, Dan TrimSuffix fungsi.

impor (
"string"
"fmt"
)

fungsiutama() {
// string lengkap
s := "Halo Dunia!"

// elemen untuk trim
awalan := "Halo"
akhiran := "Dunia!"

// memangkas string dengan set trim yang ditentukan
fmt. Println (string. Pangkas (s, "!"))

// memangkas dengan spasi di awal dan akhir string
fmt. Println (string. TrimSpace (s))

// memangkas dari string kiri dengan set trim yang ditentukan
fmt. Println (string. TrimLeft (s, "Halo"))

// memangkas dari string kanan dengan set trim yang ditentukan
fmt. Println (string. TrimRight (s, "Dunia!"))

// memangkas awalan
fmt. Println (string. TrimPrefix (s, awalan))

// memangkas akhiran tertentu
fmt. Println (string. TrimSuffix (s, suffix))
}

Itu utama function menunjukkan bagaimana Anda dapat menggunakan fungsi untuk pemangkasan. Fungsi yang berbeda memangkas S rangkaian dengan berbagai cara:

Anda Dapat Memformat String di Go

Pustaka standar Go juga menyediakan paket fmt untuk pemformatan string. Paket fmt menggunakan kata kerja pemformatan gaya-C untuk pemformatan string yang efisien di Go.