如何替换某个位置的字符串字母

如何替换某个位置的字符串字母

假设我想替换某个字符串的第 n 个字母,我该怎么做?

我尝试了这样的方法但它不正确:

#!/bin/bash
index= # let say 2
s='Hello'
echo ${s/$index/'a'} # This should print Healo

答案1

有一个高级 Bash 脚本指南向您展示如何进行子字符串和连接。

假设:

#!/bin/bash
index=2
s=Hello
echo ${s:0:index-1}a${s:index}

答案2

另一个解决方案是sed

$ echo "hello" | sed 's/\(.\{2\}\)./\1a/'

相关内容