在bash中,如何将函数的参数连接到单个字符串中?
分隔符是固定的,不是空格(因此“$*”
不是我想要的)。这里使用“,”
作为示例。
join_args() {
# join args with sep ", ", then echo the joined string
# ... code here
}
join_args abc def ghi
# abc, def, ghi
#!/usr/bin/env bash
join_args() {
count=$#
for i in `seq 1 $count`
do
if [[ $i = $count ]]
then
joined+=("$1")
else
joined+=("$1,")
shift
fi
done
echo ${joined[*]}
}
join_args abc def ghi sfl ugw pwg afm
输出:
abc, def, ghi, sfl, ugw, pwg, afm
您可以尝试:
$ function join_by { local IFS="$1"; shift; echo "$*"; }
然后通过以下方式使用:
$ join_by , abc def ghi
abc,def,ghi
如果你想要在“, ”
之后的额外空间,我想使用 sed
:
$ join_by , abc def ghi | sed -e 's/,/, /g'
abc, def, ghi
或者,您可以使用<code>printf</code>进行参数扩展,从而:
$ function join_by { local d=$1; shift; echo -n "$1"; shift; printf "%s" "${@/#/$d}"; }
$ arr=( abc def ghi "kl mn op" )
$ echo $(join_by ", " "${arr[@]}")
abc, def, ghi, kl mn op
如果设置了$IFS,< code>$*可以使用空格以外的字符,但它只能使用一个字符。因此
join_args() {
local IFS=', '
echo "${*}"
}
输出abc, def, ghi
。
如果需要更长的分隔符,则必须使用循环:
join_args() {
while (($# > 1)) ; do
printf '%s, ' "$1"
shift
done
if (($#)) ; then
printf '%s\n' "$1"
fi
}
或者,使用真正的编程语言:
perl -E 'say join ", ", @ARGV' abc def ghi
我怎么能这么做? PS:是的,我知道这篇文章和这篇文章,但它的解决方案不能用原语数组。
问题内容: 假设我有一个数组: 而且我需要使用分隔符(例如)来连接其元素,因此结果应该是这样的字符串: 我该怎么办? PS: 是的,我知道这件事和这篇文章,但是它的解决方案不适用于一系列原语。 问题答案: 这是我想出的。有几种方法可以执行此操作,它们取决于您使用的工具。 使用和来自Common Lang : 您不能只使用它,因为它没有方法的重载版本。虽然,它有方法。 适用于1.2以上的任何Java
我正在尝试用不同的令牌连接多个Pandas DataFrame列。 例如,我的数据集如下所示: 我不想修改原始的DataFrame,所以创建了两个新的DataFrame: 有一个问题,我面临,它是添加<2>最后,但我想要像上面的输出,而且这不是熊猫的方式来做这个任务,我如何使它更有效率?
我正在构建一个名为“id”的查询参数,它是一个列表,所以我有类似于localhost:8080/application?id=1 (我知道我的方法不够,我需要写第一个?id=) 方法 我的问题是:为什么我收到这个错误在Collectors.joining(" 我正在使用OpenJDK
问题内容: 在大量的Unicode字符中,有一些实际上代表多个字符,例如U + FB00连字ff表示两个’f’字符。有什么容易的方法可以将这样的字符转换成多个单个字符?最好是在标准Java API中可用的东西,但是如果需要,我可以引用一个外部库。 问题答案: U + FB00是兼容字符。通常,Unicode不支持连字的单独代码点(认为是否使用连字以及何时使用连字是布局决定,并且不影响数据的存储方式)
我将立即承认我是一个java开发人员,正在寻找一个类似于DecimalFormat的函数,类似于: 代码改编自Oracle javase i18n 我能找到的与此相关的每个资源要么只是格式化(而不是解析) 如何为Angular 4中的数字管道指定千位分隔符 NativeScript:格式化数字类型脚本 或者人们使用正则表达式替换(这在我看来很疯狂) 如何将带有逗号千分隔符的字符串解析为数字? 或一