Rumah > pembangunan bahagian belakang > Golang > golang menukar aksara Cina kepada pinyin

golang menukar aksara Cina kepada pinyin

王林
Lepaskan: 2023-05-10 09:37:36
asal
1109 orang telah melayarinya

Dengan peningkatan rangkaian sosial dan enjin carian, orang ramai semakin bergantung pada input dan pemprosesan teks dalam kehidupan seharian mereka. Rentetan pinyin ialah cara biasa untuk menukar aksara Cina kepada audio. Ia membantu meningkatkan ketepatan penyuntingan dan carian teks. Artikel ini akan memperkenalkan cara menggunakan Golang untuk menulis program yang menukar aksara Cina kepada rentetan Pinyin.

1. Persediaan

Sebelum menulis program, kita perlu memasang modul github.com/mozillazg/go-pinyin. Anda boleh memasangnya dengan menjalankan arahan berikut:

go get github.com/mozillazg/go-pinyin
Salin selepas log masuk

Pustaka ini menyediakan API yang mudah yang boleh menukar aksara Cina kepada pinyin yang sepadan. Dalam contoh ini, kami akan menggunakan API untuk menukar aksara Cina kepada Pinyin.

2. Buat program

Seterusnya, kami akan mula menulis program untuk menukar aksara Cina kepada rentetan pinyin. Berikut ialah contoh program yang mengambil rentetan aksara Cina dan menukarkannya kepada rentetan pinyin yang sepadan.

package main

import (
    "fmt"

    "github.com/mozillazg/go-pinyin"
)

func main() {
    hans := "中国"
    fmt.Println(pinyin.Convert(hans, nil))
}
Salin selepas log masuk

Dalam kod di atas, kami mengimport pustaka go-pinyin dan menggunakan kaedah Convert() untuk menukar rentetan "China" kepada rentetan pinyin. Hasilnya ialah:

[zhōng guó]
Salin selepas log masuk

Kod di atas juga menyediakan parameter "Pilihan" pilihan, yang digunakan untuk menentukan kaedah penukaran semasa penukaran. Contohnya, jika anda ingin menukar "中国" ke dalam bentuk angka Pinyin, jalankan kod berikut:

package main

import (
    "fmt"

    "github.com/mozillazg/go-pinyin"
)

func main() {
    hans := "中国"
    convertor := pinyin.NewArgs()
    convertor.Style = pinyin.Tone2
    fmt.Println(pinyin.Convert(hans, convertor))
}
Salin selepas log masuk

Dalam kod di atas, kami menetapkan pilihan pinyin.Tone2 untuk menukar "中国" kepada angka bentuk Rentetan Pinyin. Hasilnya ialah:

[zhong1 guo2]
Salin selepas log masuk

3. Program lengkap untuk menukar aksara Cina kepada Pinyin

Kini, kita boleh menulis program lengkap untuk menukar aksara Cina kepada Pinyin berdasarkan contoh program di atas. Berikut ialah atur cara yang lengkap:

package main

import (
    "fmt"
    "strings"

    "github.com/mozillazg/go-pinyin"
)

func main() {
    str := "前途未卜"
    convertor := pinyin.NewArgs()
    convertor.Style = pinyin.Tone
    pinyinStr := make([]string, 0)
    for _, r := range str {
        pyArr := pinyin.Pinyin(string(r), convertor)
        if len(pyArr) > 0 {
            pinyinStr = append(pinyinStr, pyArr[0])
        } else {
            pinyinStr = append(pinyinStr, string(r))
        }
    }
    fmt.Println(strings.Join(pinyinStr, " "))
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan gelung untuk memproses rentetan input, menukarkannya aksara demi aksara kepada rentetan Pinyin yang sepadan dan menyimpannya menjadi aksara dalam tatasusunan rentetan. Akhir sekali, kami menggunakan fungsi Join() untuk menggabungkan semua rentetan menjadi satu rentetan.

Untuk menjalankan program di atas, laksanakan arahan berikut:

$ go run main.go
Salin selepas log masuk

Hasilnya hendaklah:

qián tú wèi bǔ
Salin selepas log masuk

IV gunakan Gunakan pustaka

untuk menulis program ringkas yang menukar aksara Cina kepada rentetan Pinyin. Selain itu, kami juga memperkenalkan cara menggunakan perpustakaan ini untuk menukar aksara Cina ke dalam format pinyin tertentu. Menggunakan teknik ini, anda boleh menambah sokongan untuk input bahasa Cina pada program anda dan meningkatkan ketepatan carian dan penyuntingan teksnya.

Atas ialah kandungan terperinci golang menukar aksara Cina kepada pinyin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan