Bagaimana untuk menghuraikan fail CSV menggunakan ungkapan biasa dalam Go? 1. Import perpustakaan regexp. 2. Gunakan regexp.MustCompile untuk mencipta ungkapan biasa yang sepadan dengan medan baris CSV. 3. Gunakan fungsi regexp.Split untuk memisahkan baris CSV kepada tatasusunan rentetan. 4. Kes praktikal menunjukkan cara menggunakan ungkapan biasa untuk menghuraikan fail CSV yang mengandungi data kakitangan.
Cara menghuraikan fail CSV menggunakan ungkapan biasa dalam Go
Ekspresi biasa (regex) ialah alat yang berkuasa untuk memadankan dan memproses teks. Dalam Go, kami boleh menggunakan pakej regexp
untuk memproses fail CSV. regexp
包处理 CSV 文件。
1. 导入库
import ( "fmt" "regexp" )
2. 匹配 CSV 行
使用 regexp.MustCompile
创建一个正则表达式模式,它匹配 CSV 行中的字段:
re := regexp.MustCompile(`^([^,]*),([^,]*),(.+)$`)
此模式将每个字段与三个捕获组匹配。
3. 解析 CSV 行
使用 regexp.Split
函数将 CSV 行拆分为一个字符串数组:
line := "John,Doe,jdoe@example.com" fields := re.Split(line, -1)
fields
1. Import perpustakaan
package main import ( "fmt" "io/ioutil" "regexp" ) func main() { // 读取 CSV 文件 data, err := ioutil.ReadFile("people.csv") if err != nil { fmt.Println(err) return } // 使用正则表达式解析 CSV 行 re := regexp.MustCompile(`^([^,]*),([^,]*),(.+)$`) lines := strings.Split(string(data), "\n") for _, line := range lines { fields := re.Split(line, -1) if len(fields) != 4 { fmt.Println("无效的行:", line) continue } // 打印个人信息 fmt.Printf("%s %s (%s)\n", fields[1], fields[2], fields[3]) } }
2. Padankan baris CSV
🎜🎜Gunakanregexp.MustCompile
untuk mencipta corak ungkapan biasa yang sepadan dengan medan dalam baris CSV: 🎜rthiee memadankan setiap medan dengan tiga kumpulan penangkap. 🎜🎜🎜3 Menghuraikan baris CSV 🎜🎜🎜Pisah baris CSV kepada tatasusunan rentetan menggunakan fungsi regexp.Split
: 🎜rreee🎜 Tatasusunan medan
kini mengandungi tiga Elemen: nama, nama keluarga dan alamat e-mel. 🎜🎜🎜4. Kes praktikal🎜🎜🎜Mari kita gunakan ungkapan biasa untuk menghuraikan fail CSV yang mengandungi data kakitangan: 🎜rrreeeAtas ialah kandungan terperinci Bagaimana untuk menghuraikan fail CSV menggunakan ungkapan biasa dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!