Rumah >pembangunan bahagian belakang >Golang >Pemprosesan teks fungsi Golang dan kaedah aplikasi ungkapan biasa

Pemprosesan teks fungsi Golang dan kaedah aplikasi ungkapan biasa

WBOY
WBOYasal
2023-05-15 23:00:251646semak imbas

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.

  1. Fungsi pakej rentetan

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.

  1. Fungsi pakej strconv

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

  • Memadankan aksara sebelumnya 0 atau lebih kali
  • Memadankan aksara sebelumnya 1 atau lebih kali
    Memadankan aksara sebelumnya 0 atau 1 kali
    d Padanan a aksara angka
    w Memadankan aksara abjad atau angka
    S padanan mana-mana aksara bukan kosong
    [] sepadan dengan mana-mana aksara dalam set aksara
    () padanan kumpulan
  1. sepadan dengan Formula ungkapan biasa

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
}
  1. Ungkapan Biasa Tersusun

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
}
  1. Cari dan Gantikan

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!

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
Artikel sebelumnya:Tiada idea golang plug-inArtikel seterusnya:Tiada idea golang plug-in