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

从exec.Command输出中解析整数

桂丰
2023-03-14
问题内容

我目前正在尝试从Go程序内部运行命令,并从响应中解析一个整数。该命令返回如下输出:

6
fyb_src / ex1.fyb(1)获胜!

使用strings.Split和分割线并删除空白strings.TrimSpaces。但是,在尝试将数字解析为整数时,出现以下错误:

紧急:strconv.ParseInt:解析“ 0 \ r1 \ r2 \ r3 \ r4 \ r5 \ r6”:无效的语法

但是将我尝试解析的字符串打印到终端会产生以下结果:

6

我不太确定该从哪里去。这个数字对我来说显然像是一个整数。错误消息也没有用(至少对我而言)。有人有主意吗?

编辑:我正在运行的代码

    out, _ := exec.Command(pwd+"/osx_fukyobrane_amd64", "fyb_src/"+filename, "fyb_src/salty.fyb", "t").CombinedOutput()
    parts := strings.Split(string(out), "\n")

    fmt.Println(parts[0])

    rounds, err := strconv.Atoi(strings.TrimSpace(parts[0]))
    if err != nil {
        panic(err.Error())
    }

问题答案:

看来您的问题是parts[0]包含字符串"0 \r1 \r2 \r3 \r4 \r5 \r6"而不是数字。

strconv.Atoi函数仅查找一个要解析的数字-在这种情况下,我假设您正在尝试获取第一个“
0”。如果是这样,那么问题在于此代码:strings.Split(string(out), "\n")仅在查找“ \ n”而不是“ \
r”,这显然是从返回的osx_fukyobrane_amd64

一种解决方案是改为像这样拆分行:

regexp.MustCompile(`[\r\n]+`).Split(parts[0], -1)

这样会将多行折叠在一起,并将\ r,\ n和\ r \ n(或其他奇怪的组合)视为有效的换行符。



 类似资料:
  • 问题内容: 我的argparse在顶层只有3个标记(store_true),其他所有内容都通过子解析器处理。当我运行时,输出显示所有子命令的列表,如正常的。因此,默认设置效果很好… 我通常不记得我需要的确切子命令名称及其所有选项。因此,我最终进行了2个帮助查找: 我经常这样做,所以我决定将其塞入一步。我宁愿让我的顶级帮助输出大量摘要,然后手动滚动列表。我发现它快得多(至少对我来说)。 我正在使用R

  • 问题内容: JDK或Jakarta Commons(或其他任何地方)中是否存在一种至少可以解析整数数组的方法才能解析Arrays.toString的输出的方法? 问题答案: 自己动手很容易:

  • 问题内容: 我有一个应该调用ruby脚本的go程序。 我有一个功能: 我这样调用它: 它适用于大多数情况,除非子进程中有一个或任何类似的操作需要暂停输入。 我已经尝试设置,但是它不等待输入。 我究竟做错了什么? 问题答案: 下面的程序好像你问什么(我几乎等同于你的。我只是改变了到了线。)你在做一些不同的东西?

  • 问题内容: 首先,我要说这是一个美学问题。我已经解决了自己的问题,只是对更好的解决方法感到好奇。 因此,我有一个证书DN,如下所示: CN = Jimmy Blooptoop,OU =某个地方,OU =员工,DC = Bloopsoft-Inc 现在,我想从中获取CN。在Java中,没有本机支持就可以从X509证书中获取除完整DN之外的任何内容,而无需使用诸如充气城堡之类的第3方库- 我无法使用。

  • 问题内容: 我试图解析WMIC的输出,然后获取PID。 我的脚本如下: 输出如下: 我的目标是获取进程ID。 我已经尝试过将空间作为FOR循环中的delims。然而没有运气。 所以我的问题是如何格式化WMIC的列并获取列? 问题答案: WMIC使用SQL语法的子集。通过将LIKE运算符与通配符一起使用,可以在功能上将FINDSTR测试放在WMIC WHERE子句中。由于它在批处理脚本中,因此需要加

  • 本文向大家介绍实例讲解Python中整数的最大值输出,包括了实例讲解Python中整数的最大值输出的使用技巧和注意事项,需要的朋友参考一下 在Python中可以存储很大的值,如下面的Python示例程序: 输出: 10000000000000000000000000000000000000000001 在Python中,整数的值不受位数的限制,可以扩展到可用内存的限制。因此,我们永远不需要任何特殊