【发布时间】:2012-03-08 05:58:35
【问题描述】:
在UNIX中找了半天如何做一个简单的字符串操作
我有这个字符串:
theStr='...............'
而且我需要把第5个字符改成A,怎么办?
在C# 中是这样完成的theStr[4] = 'A'; // Zero based index.
【问题讨论】:
在UNIX中找了半天如何做一个简单的字符串操作
我有这个字符串:
theStr='...............'
而且我需要把第5个字符改成A,怎么办?
在C# 中是这样完成的theStr[4] = 'A'; // Zero based index.
【问题讨论】:
我不知道它是否优雅,或者您需要哪个版本的 bash,但是
theStr="${theStr:0:4}A${theStr:5}"
第一部分返回前四个字符,然后是字符“A”,然后是从第 6 个字符开始的所有字符
【讨论】:
a="............"
b="${a:0:4}A${a:5}"
echo ${b}
这是一个非常好的tutorial 字符串操作。
【讨论】:
您可以使用流线编辑器sed 实现此目的:
echo $theStr | sed s/./A/5
首先将 $theStr 的输出通过管道传递给 sed,它将第五个字符替换为 A。
【讨论】:
. 不代表字符“点”,但它匹配所有字符。如果我想匹配点,它会写\.