Golang ialah bahasa pengaturcaraan dengan kecekapan dan fleksibiliti. Dalam bahasa Golang, fungsi dan ungkapan biasa ialah kedua-dua ciri yang sangat penting Fungsi digunakan secara meluas untuk pemprosesan teks, manakala ungkapan biasa digunakan secara meluas untuk mencari, memadankan dan menggantikan rentetan.
Dalam artikel ini, kami akan meneroka aplikasi fungsi Golang dalam pemprosesan teks dan penggunaan asas ungkapan biasa di Golang.
1. Fungsi pemprosesan teks
Dalam bahasa Go, rentetan ialah tatasusunan bait yang tidak boleh diubah. Untuk mengendalikan rentetan ini kita perlu menggunakan fungsi berikut.
Pakej rentetan adalah salah satu pakej standard yang disediakan oleh Golang Ia mengandungi pelbagai fungsi untuk pemprosesan rentetan. Fungsi ini boleh digunakan untuk memotong, menggabungkan, membandingkan, memisahkan, rentetan carian, dll. Di bawah adalah beberapa fungsi biasa.
a. rentetan.TrimSpace(rentetan str)
Fungsi ini mengembalikan hasil selepas mengalih keluar ruang hadapan dan belakang bagi rentetan.
b. rentetan.Split(rentetan str, rentetan sep) []rentetan
Fungsi ini membahagi str rentetan kepada tatasusunan rentetan mengikut sep pemisah.
c. rentetan.Sertai(str_list []string, sep string) string
Fungsi ini menghubungkan tatasusunan rentetan str_list dengan sep pemisah yang ditentukan dan mengembalikan rentetan yang disambungkan.
d. rentetan.Mengandungi(rentetan str, rentetan substr) bool
Fungsi ini mengembalikan nilai jenis bool, yang digunakan untuk menentukan sama ada str rentetan mengandungi substring.
e. strings.Index(string str, substr string) int
Fungsi ini mengembalikan nilai jenis integer, yang digunakan untuk mengembalikan kedudukan substring dalam str rentetan.
f. rentetan. Gantikan(rentetan str, rentetan lama, rentetan baharu, n int) rentetan
Fungsi ini menggantikan str rentetan lama dengan baharu, n ialah bilangan penggantian.
Pakej strconv ialah pakej standard yang disediakan oleh Golang untuk menukar rentetan kepada jenis data lain seperti integer, nombor titik terapung dan Nilai Boolean menunggu. Berikut adalah beberapa fungsi yang biasa digunakan.
a. strconv.Atoi(str string) (int, error)
Fungsi ini menukar rentetan str kepada nilai jenis int. Jika penukaran gagal, ralat dikembalikan.
b. strconv.ParseFloat(string str, bitSize int) (float64, error)
Fungsi ini menukar str rentetan kepada nilai jenis float64. Jika penukaran gagal, ralat dikembalikan.
c. strconv.FormatInt(i int64, base int) rentetan
Fungsi ini menukar nilai i jenis int64 kepada rentetan.
2. Ungkapan biasa
Ungkapan biasa ialah teknologi berdasarkan padanan corak teks. Ia digunakan secara meluas untuk mencari, memadankan dan menggantikan rentetan. Pustaka standard Golang menyediakan pakej regexp untuk menyokong ungkapan biasa. Sintaks asas
ungkapan biasa adalah seperti berikut:
^ sepadan dengan permulaan baris
$ sepadan dengan hujung baris
Padan dengan mana-mana bukan-
aksara
Kita boleh menggunakan fungsi MatchString dalam pakej regexp untuk menyemak sama ada rentetan sepadan dengan ungkapan biasa. Sebagai contoh, kod berikut akan menyemak sama ada rentetan mengandungi sekumpulan 3 nombor:
package main import ( "fmt" "regexp" ) func main() { match, _ := regexp.MatchString("\d{3}", "123") fmt.Println(match) // true match, _ = regexp.MatchString("\d{3}", "12") fmt.Println(match) // false }
Fungsi MatchString perlu disusun setiap kali ia dilaksanakan Ungkapan biasa, yang boleh memberi kesan prestasi. Oleh itu, kita boleh menggunakan fungsi Compile untuk menyusun ungkapan biasa dahulu dan kemudian menggunakannya dalam kod kemudian.
package main import ( "fmt" "regexp" ) func main() { reg := regexp.MustCompile("\d{3}") match := reg.MatchString("123") fmt.Println(match) // true match = reg.MatchString("12") fmt.Println(match) // false }
Pakej regexp juga menyediakan fungsi FindAllString untuk mencari ungkapan biasa dalam rentetan dan mengembalikan semua subrentetan yang sepadan. Sebagai contoh, kod berikut akan mengembalikan semua subrentetan yang terdiri daripada 3 nombor dalam rentetan:
package main import ( "fmt" "regexp" ) func main() { reg := regexp.MustCompile("\d{3}") str := "123a456b789c" result := reg.FindAllString(str, -1) fmt.Println(result) // [123 456 789] }
Pakej regexp juga menyediakan fungsi ReplaceAllString, yang digunakan untuk menggantikan semua subkarakter dalam rentetan yang sepadan dengan ungkapan biasa. rentetan digantikan dengan rentetan lain. Sebagai contoh, kod berikut akan menggantikan semua subrentetan yang terdiri daripada 3 nombor dalam rentetan dengan Kecekapan dan fleksibiliti. Kita boleh menggunakan fungsi ini untuk melaksanakan operasi seperti pemotongan rentetan, penggabungan, perbandingan, pemisahan dan pencarian.
Ungkapan biasa ialah teknik padanan corak teks yang digunakan secara meluas untuk mencari, memadankan dan menggantikan rentetan. Di Golang, kita boleh menggunakan pakej regexp untuk menyokong ungkapan biasa dan melaksanakan operasi pemadanan, carian dan penggantian dengan menyusun ungkapan biasa, fungsi MatchString, fungsi FindAllString dan fungsi ReplaceAllString.
Oleh itu, adalah sangat penting untuk menguasai pemprosesan teks dan ungkapan biasa Golang Dalam proses menggunakan fungsi dan ungkapan biasa ini, kami boleh memproses data rentetan dengan lebih cekap.
Atas ialah kandungan terperinci Pemprosesan teks fungsi Golang dan kaedah aplikasi ungkapan biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!