zoukankan      html  css  js  c++  java
  • Shell 脚本学习笔记三:Shell字符串

    your_name="Li Lei"         // 双引号字符串

    str='this is a string'       // 单引号字符串

    拼接字符串

        your_name="qinjx"

        greeting="hello, "$your_name" !"

        greeting_1="hello, ${your_name} !"

        echo $greeting $greeting_1

    获取字符串长度

        string="abcd"

        echo ${#string}

    提取子字符串

        string="runoob is a great site"

        echo ${string:1:4}              // 截取下标为 1,长度为 4 的字符串

    几种截取字符串的方法:

        var="http://www.baidu.com/123.html"

        1、# 截取,删除左边的字符,保留右边的字符

            // 删除 // 和 //左边的字符串(注:从左往右删除到第一个 //),即删除 http://

            echo ${var#*//}

            

        2、## 截取,删除左边的字符,保留右边的字符

            

            // 删除 / 和 /左边的字符串(注:从左往右删除到最后一个 /),即删除 http://www.baidu.com/

            echo ${var##*/}

                

        3、% 截取,删除右边的字符,保留左边的字符

            

            // 删除 / 和 /右边的字符串(注:从右往左删除到第一个(最右边) /),取删除 /123.html

            echo ${var%/*}

                        

        4、%% 截取,删除右边的字符,保留左边的字符

                    

            // 删除 / 和 /右边的字符串(注:从右往左删除到最后一个(最左边) /),取删除 //www.baidu.com/123.html

            echo ${var%%/*}

                        

        5、: : 下标 长度截取

            

            // 删除下标为 1,长度为 3 的字符串

            echo {var:1:3}

                        

            // 从右往左数(最后一位为第0个字符),从第7个字符(不包括第7个)从左往右开始删除长度为3的字符串

            echo {var:0-7:3}

                        

        6、: 下标截取

            

            // 从 下标为 7 的位置开始删除,一直到结束

            echo {var:7}

                        

            // 从右往左数(最后一位为第0个字符),从左往右删除第7个字符(不包括第7个)后面的字符串

            echo {var:0-7}

    查找子字符串

        string="runoob is a great company"

        echo `expr index "$string" is`  // 找到 is 的位置

  • 相关阅读:
    java.logging的重定向?
    java.rmi.NoSuchObjectException: no such object in table
    jmx : ClientCommunicatorAdmin Checker-run
    jmx完整示例
    Android studio 下的SDK Manager只显示已安装包的情况
    Android Studio: Error:Cannot locate factory for objects of type DefaultGradleConnector, as ConnectorServiceRegistry
    浅谈Kotlin(二):基本类型、基本语法、代码风格
    浅谈Kotlin(一):简介及Android Studio中配置
    源码浅谈(一):java中的 toString()方法
    ButterKnife注解框架详解
  • 原文地址:https://www.cnblogs.com/fanxiaocong/p/7068497.html
Copyright © 2011-2022 走看看