Rumah > pembangunan bahagian belakang > Golang > Alih keluar aksara khas daripada perkataan

Alih keluar aksara khas daripada perkataan

WBOY
Lepaskan: 2024-02-06 10:48:08
ke hadapan
891 orang telah melayarinya

Alih keluar aksara khas daripada perkataan

Kandungan soalan

Saya sedang menulis fungsi dalam go untuk membersihkan perkataan individu, dengan itu mengalih keluar aksara khas pada permulaan dan akhir setiap perkataan.

Iaitu:

  • .-Hello,->Hello
  • "Kembali ke Belakang"->Kembali ke Belakang

Saya mendapat hasil berikut dengan menyemak setiap huruf akhir demi huruf untuk melihat sama ada ia tergolong dalam set unicode.letter, yang berfungsi dengan baik, tetapi saya tertanya-tanya sama ada terdapat cara yang lebih baik atau lebih cekap untuk melakukan ini? Saya mencuba strings.trimleft/right, tetapi kemudian saya terpaksa menentukan set aksara saya sendiri untuk dialih keluar. Adalah baik untuk menggunakan koleksi yang telah ditetapkan.

func TrimWord(word []rune) string {
    var prefix int = 0
    var suffix int = len(word)

    for x := 0; x < len(word); x++ {
        if !unicode.IsLetter(word[x]) {
            prefix++
        } else {
            break
        }
    }

    for x := len(word) - 1; x >= 0; x-- {
        if suffix == prefix {
            break
        }
        if !unicode.IsLetter(word[x]) {
            suffix--
        } else {
            break
        }
    }
    return string(word[prefix:suffix])
}
Salin selepas log masuk


Jawapan betul


package main

import (
    "fmt"
    "strings"
    "unicode"
)

func trimword(s string) string {
    return strings.trimfunc(s, func(r rune) bool {
        return !unicode.isletter(r)
    })
}

func main() {
    fmt.println(trimword(`.-hello,`))       // -> hello
    fmt.println(trimword(`"back-to-back"`)) // -> back-to-back
}
Salin selepas log masuk

//m.sbmmt.com/link/55053683268957697aa39fba6f231c68

hello
back-to-back
Salin selepas log masuk

rentetan pakej

func TrimFunc(s string, f func(rune) bool) string
Salin selepas log masuk

trimfunc mengembalikan sekeping rentetan s dengan semua mata kod unikod c di hadapan dan di belakang dialih keluar yang memenuhi f(c).

Atas ialah kandungan terperinci Alih keluar aksara khas daripada perkataan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
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