当前位置:  开发笔记 > 编程语言 > 正文

如何将字符串转换为Bash中的所有空格?

如何解决《如何将字符串转换为Bash中的所有空格?》经验,为你挑选了1个好方法。

出于格式化目的,我想用空格替换String的所有字符.

STR="some string of unknown length"
SPC="                             " <--- this is what I want

在这个页面的帮助下,我能想到的最好的是:

SPC=${STR//[a-Z]/ }

但这只会替换字母,而不是数字或任何特殊字符.这种类型的Bash字符串替换的"任何字符"的占位符是什么?



1> anubhava..:

您可以使用:

str="some string of unknown length"
spc="${str//[^[:space:]]/ }"

[^[:space:]] 将匹配任何非空格字符并用空格替换它.

校验:

echo "$str" | wc -c
30
echo "$spc" | wc -c
30

PS:你也可以这样做:

spc="${str//?/ }"

获取只包含空格的相同长度的字符串.?匹配glob中的任何字符.


为什么要打扰匹配非空格字符?将空间转换为空格可能毫无意义,但它比正则表达式读得更好.
好的,我还添加了"$ {str //?/}"`作为答案.
推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有