当前位置: 首页 > 面试题库 >

一线将[] int转换为字符串

白淇
2023-03-14
问题内容

基本上[]int{1, 2, 3},我有一个单线将其转换为字符串“
1、2、3”(我需要定界符是自定义的,有时是.,有时,是等)。以下是我能想到的最好的方法。在线搜索,似乎找不到更好的答案。

在大多数语言中,对此都有内置的支持,例如:

蟒蛇:

> A = [1, 2, 3]
> ", ".join([str(a) for a in A])
'1, 2, 3'

走:

package main

import (
    "bytes"
    "fmt"
    "strconv"
)

// Could not find a one-liner that does this :(.
func arrayToString(A []int, delim string) string {

    var buffer bytes.Buffer
    for i := 0; i < len(A); i++ {
        buffer.WriteString(strconv.Itoa(A[i]))
        if i != len(A)-1 {
            buffer.WriteString(delim)
        }
    }

    return buffer.String()
}

func main() {
    A := []int{1, 2, 3}
    fmt.Println(arrayToString(A, ", "))
}

当然,肯定有一个实用工具可以让我用单线执行此操作吗?

我知道有strings.Join(A, ", "),但是仅当A已经[]字符串时才有效。


问题答案:

转换
A := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}

到一行分隔字符串,例如
“ 1,2,3,4,5,6,7,8,9”,请
使用:

strings.Trim(strings.Join(strings.Fields(fmt.Sprint(A)), delim), "[]")

要么:

strings.Trim(strings.Join(strings.Split(fmt.Sprint(A), " "), delim), "[]")

要么:

strings.Trim(strings.Replace(fmt.Sprint(A), " ", delim, -1), "[]")

并从此示例中的函数返回它:

package main

import "fmt"
import "strings"

func arrayToString(a []int, delim string) string {
    return strings.Trim(strings.Replace(fmt.Sprint(a), " ", delim, -1), "[]")
    //return strings.Trim(strings.Join(strings.Split(fmt.Sprint(a), " "), delim), "[]")
    //return strings.Trim(strings.Join(strings.Fields(fmt.Sprint(a)), delim), "[]")
}

func main() {
    A := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}

    fmt.Println(arrayToString(A, ",")) //1,2,3,4,5,6,7,8,9
}

要在逗号后包含空格,您可以调用arrayToString(A, ", ")或反过来定义return return strings.Trim(strings.Replace(fmt.Sprint(a), " ", delim + " ", -1), "[]")以强制将其插入定界符之后。



 类似资料:
  • 注意:这个问题包含不建议使用的前1.0代码!不过,答案是正确的。 要在Rust中将转换为,我可以执行以下操作: 我知道如何将转换为的唯一方法是获取其中的一个片段,然后像这样使用: 有没有办法直接将转换为?

  • 我只是无法在c中转换不同的数据类型,我知道c是一种强类型语言,所以我在这里使用了,但我面临一个问题,错误消息是 从“std::string{aka std::basic_string}类型转换为“int”类型的static_

  • 如何将字符串值转换为int?我正在获取。 结果应该类似于。

  • 问题内容: 我有一个带有ID号的大型数据框: 这些现在都是字符串。 我想转换为不使用循环-为此我使用。 问题是我的某些行包含无法转换为的脏数据,例如 如何(不使用循环)删除这些类型的事件,以便我可以放心使用? 问题答案: 您需要向功能添加参数: 如果是列: 但非数字会转换为,因此所有值都是。 对于需要转换到一些值,例如,然后转换为: 样品: 编辑:如果使用0.25+大熊猫,则可以使用:

  • 问题内容: 如何在python中将字节字符串转换为int? 这样说: 我想出了一个聪明/愚蠢的方法: 我知道必须有内置的东西或在标准库中可以更简单地执行此操作… 这与转换可以使用int(xxx,16)的十六进制数字字符串不同,但是我想转换一个实际字节值的字符串。 更新: 我有点喜欢James的回答,因为它不需要导入另一个模块,但是Greg的方法更快: 我的骇客方法: 进一步更新: 有人在评论中问导

  • 问题内容: 该应用程序基本上通过输入初始速度和最终速度以及时间来计算加速度,然后使用公式来计算加速度。但是,由于文本框中的值是字符串,所以我无法将它们转换为整数。 问题答案: 基本概念, 请注意,这仅在Swift 1.x中有效 Swift 4更新