登录
首页 >  Golang >  Go问答

获取空白符文的方法

来源:stackoverflow

时间:2024-03-11 17:54:27 366浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《获取空白符文的方法》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

我正在查看 string.map 函数,它必须采用返回符文的映射函数。我想通过调用 unicode.isprint() 来消除解析 false 的符文

func map(映射 func(rune) rune, s 字符串) string

我的函数看起来像这样:

func main() { 
func CleanUp(s string) string {

    clean := func(r rune) rune {
        if unicode.IsPrint(r) || r == rune('\n') {
            return r
        }
        return rune('')
    }

strings.Map(clean, s)
}

它应该将类似 "helloworld ' \x10" 的内容清理为 "helloworld ' "

但是 rune('') 无效。如何返回空白或空符文?


解决方案


如果你想消除符文,“空白符文”不是最佳选择。这不会消除任何东西。

假设您正在谈论 strings.Map,文档说

如果映射返回负值,则该字符将从字符串中删除且不进行替换。

让你的映射器返回一个负值来指示应该丢弃符文。

根据我的理解,符文实际上是映射到unicode字符的整数值,所以这段代码实际上如果条件检查失败,则返回 \0 字符:

package main

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

func main() {
    fmt.Println(CleanUp("helloworld ' \x10"))
}

func CleanUp(s string) string {

    clean := func(r rune) rune {
        if unicode.IsPrint(r) || r == rune('\n') {
            return r
        }
        return rune(0)
    }

    return strings.Map(clean, s)
}

输出

helloworld'

理论要掌握,实操不能落!以上关于《获取空白符文的方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>