【问题标题】:Bash - split text and number/numbers from one varBash - 从一个变量中拆分文本和数字/数字
【发布时间】:2014-05-26 18:54:29
【问题描述】:

我有一个问题。 我有 VAR - 例如:

$VAR="test12"

我想把它分成两部分。 但我不知道该怎么做。 我试过了:

SECOND_PART="${VAR: -1}"

FIRST_PART="${VAR%?}"

但此方法不包括多位数字(范围:1 到 99)。 提前感谢您的帮助:)

【问题讨论】:

    标签: bash variables text split


    【解决方案1】:
    echo  ${VAR//[^0-9]/}  ${VAR//[0-9]/}
    

    这使用模式替换。它还假设输入的形式是可靠的(例如不是"this12andthat98"

    【讨论】:

      【解决方案2】:

      这是另一种方法:

      echo  ${VAR%%[0-9]*}  ${VAR##*[!0-9]}
      test 12
      
      • ${VAR%%[0-9]*}
        从后面删除最长的数字匹配。所以 test12 将变为 test

      • ${VAR##*[!0-9]}
        从前面删除最长的匹配项。所以test12 将变为12。匹配状态为匹配除数字之外的任何内容。

      【讨论】:

        猜你喜欢
        • 2018-11-20
        • 2011-06-11
        • 2015-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多