给出以下功能:

function process_pipes(text)
{
    split(text,recs,"|");
    for (field in recs){
        printf ("|%s|\n", field)
    }
}

如果输入为:0987654321 | 57300 |找不到错误帐号| GDUMARESQ | 0199 | 9 | N | 0 ||

为什么我得到下面的数字而不是文字?

|4|
|5|
|6|
|7|
|8|
|9|
|10|
|1|
|2|
|3|
有帮助吗?

解决方案

split 在代码中创建一个数组 recs recs [1] == 0987654321等。

(code in recs)循环的生成索引列表,而不是数组元素。

因此,您需要:

function process_pipes(text)
{
    split(text,recs,"|");
    for (field in recs){
        printf ("|%s|\n", recs[field])
    }
}

其他提示

因为

for ... in 

为您提供。使用

printf("|%s|\n",recs[field]);

获取值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top