zoukankan      html  css  js  c++  java
  • shell编程(七)之字符串处理

    字符串切片

    ${var:offset:number}

    取字符串的最右侧几个字符:

    ${var: -length} 注意: 冒号后必须有一个空白字符
    #!/bin/bash
    var="chengkaihua"
    echo $var
    # 显示字符串右侧偏移两个字符取三个字符
    echo ${var:2:3} # eng
    echo ${var: -3} # hua

    基于模式取子串:
    ${var#*word}: 其中word可以是指定的任意字符;功能:自左向右,查找var变量所存储的字符串中第一次出现的word,

    删除字符串开头至第一次出现word字符之间的所有字符
    ${var##*word}:同上,不过删除的是字符串开头至最后一次由word指定的字符之间的所有内容

    ${var%word*}:其中word可以是指定的任意字符,功能:自右向左,查找var变量所存储的字符串中第一次出现的word,
    删除字符串最后一个字符向左至第一次出现word字符之间的所有字符
    ${var%%word*}:同上,只不过删除字符串最右侧的字符向左至最后一次出现word字符之间的所有字符

    示例: url=http://www.magedu.com:80
    ${url##*:}
    ${url%%:*}

    查找替换:
    ${var/pattern/substi}: 查找var所表示的字符串中,第一次被pattern所匹配到的字符串,以substi替换之
    ${var//pattern/substi}: 查找var所表示的字符串中,所有能被pattern所匹配到的字符串,以substi替换之

    查找并删除:
    ${var/pattern}: 查找var所表示的字符串中,删除第一次被pattern所匹配到的字符串
    ${var//pattern}:
    ${/var/#pattern}:
    ${var/%pattern}:

    字符大小写转换:
    ${var^^}: 把var中的所有小写字母转换为大写
    ${var,,}: 把var中的所有大写字母转换为小写

    变量赋值:
    ${var:-value}: 如果var为空或未设置,那么返回value;否则,则返回var的值
    ${var:=value}: 如果var为空或未设置,那么返回value,并将value赋值给var;否则,则返回var的值

    ${var:+value}: 如果var不空,则返回value
    ${var:?error_info}: 如果var为空或未设置,那就返回error_info;否则,则返回var的值

        #!/bin/bash
                        var="chengkaihua"
                        echo $var
                        # 显示字符串右侧偏移两个字符取三个字符
                        echo ${var:2:3} # eng
                        echo ${var: -3} # hua
                        echo ${var#*a}  # ihua
                        echo ${var##*a} # 
                        echo ${var%a*}  # chengkaihu
                        echo ${var%%a*} # chengk
    
                        echo ${var^^}   # 小写字母转换为大写
                        echo ${var,,}   # 大写字母转换为小写
    
                        echo ${name:-alen} # alen
                        echo $name      # 
                        echo ${name:=alen} # alen
                        echo $name      # alen
    
                        echo ${name1:?"name1为空或未设置"}
  • 相关阅读:
    IHE 官方网址有用资源介绍
    HL7 标准及实现指南 必看的网址
    HL7及PIX相关的测试工具
    hl7 v2.X 版本中RSP_K23消息的构造
    hl7中V2版本的ACK消息的构造
    hl7消息中和时间有关的字段的格式
    解决方案: the selected file is a solution file but was created by a newer version of this application and cannot be opened
    wpf中为DataGrid添加checkbox支持多选全选
    hl7 V2中Message Control ID的含义及应用
    Pix mesa 自动化测试
  • 原文地址:https://www.cnblogs.com/ckh2014/p/10765322.html
Copyright © 2011-2022 走看看