Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menghuraikan fail CSV menggunakan ungkapan biasa dalam Go?

Bagaimana untuk menghuraikan fail CSV menggunakan ungkapan biasa dalam Go?

WBOY
WBOYasal
2024-06-02 10:02:01667semak imbas

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"
)

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

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

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