Bagaimana untuk menghuraikan fail CSV menggunakan ungkapan biasa dalam Go?

WBOY
Lepaskan: 2024-06-02 10:02:01
asal
686 orang telah melayarinya

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.

如何在 Go 中使用正则表达式解析 CSV 文件?

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"
)
Salin selepas log masuk

2. 匹配 CSV 行

使用 regexp.MustCompile 创建一个正则表达式模式,它匹配 CSV 行中的字段:

re := regexp.MustCompile(`^([^,]*),([^,]*),(.+)$`)
Salin selepas log masuk

此模式将每个字段与三个捕获组匹配。

3. 解析 CSV 行

使用 regexp.Split 函数将 CSV 行拆分为一个字符串数组:

line := "John,Doe,jdoe@example.com"
fields := re.Split(line, -1)
Salin selepas log masuk

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])
    }
}
Salin selepas log masuk

2. Padankan baris CSV

🎜🎜Gunakan regexp.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: 🎜rrreee

Atas 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!

Label berkaitan:
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