gpt4 book ai didi

string - 隔离字符串输出

转载 作者:数据小太阳 更新时间:2023-10-29 03:23:35 24 4
gpt4 key购买 nike

我目前有一个执行 os 命令的脚本,它返回大量数据,在数据末尾它给出了一个总计:

总计 N 个。

N可以是0以上的任意数。

我想执行这个命令,取N然后赋值。我正在运行命令并将其存储在 bytes.Buffer 中,但是我不确定如何抓取它以便只获取数字。 “N 总数”。字符串总是在输出的末尾。任何帮助将不胜感激,因为我已经看到了各种不同的方法,但它们看起来都很复杂。

最佳答案

您可以使用 bufio.Scanner 逐行读取命令的输出。然后记住最后一行并在命令完成后解析它。

package main

import (
"bufio"
"fmt"
"io"
"os/exec"
"strings"
)

func main() {
r, w := io.Pipe()

cmd := exec.Command("fortune")
cmd.Stdout = w
go func() {
cmd.Run()
r.Close()
w.Close()
}()

sc := bufio.NewScanner(r)
var lastLine string
for sc.Scan() {
line := sc.Text()
fmt.Println("debug:", line)

if strings.TrimSpace(line) != "" {
lastLine = line
}
}

fmt.Println(lastLine)
}

示例输出:

debug: "Get back to your stations!"
debug: "We're beaming down to the planet, sir."
debug: -- Kirk and Mr. Leslie, "This Side of Paradise",
debug: stardate 3417.3
stardate 3417.3

解析 lastLine 作为练习留给读者。

关于string - 隔离字符串输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48551651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com