0

我正在尝试做一个算法来识别字符串上的数字并将这些数字放在一个变量上。例如“abc 123”在变量上保存 123。谢谢。

4

2 回答 2

0

假设您只需要第一个数字:

myNumber="$(printf %s "$myString" | grep -Eo '[[:digit:]]+' | head -1)"
于 2012-10-05T09:08:17.327 回答
0

因为一个字符串可以有更多的数字段,所以我会选择 sed:

sed 's/[^0-9]//g'

kent$  echo "foo 0 abc 123 foo 456"|sed 's/[^0-9]//g' 
0123456

我希望这是你想要的。

哦,忘记了“保存到变量”部分:

kent$  number=$(echo "foo 0 abc 123 foo 456"|sed 's/[^0-9]//g')


kent$  echo $number
0123456
于 2012-10-05T09:18:35.477 回答