zoukankan      html  css  js  c++  java
  • linux_shell_字符串

      字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。

    但是单引号和双引号是有区别的:

      单引号:

    • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
    • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

      双引号:

    • 双引号里可以有变量
    • 双引号里可以出现转义字符

    获取字符串长度:例:

    #!/bin/bash
    name="dongxiucai"
    echo ${#name}

    运行结果:

      

    提取子字符串:例:(以下代码为从第3个字符开始截取3个字符)

    #!/bin/bash
    name="dongxiucai"
    echo ${name:2:3}

    运行结果:

      

      原字符串为   dongxiucai    从第3个字符开始(n)截取3个字符(到x),所以结果为ngx

    查找子字符串:例:(查找字符)

    #!/bin/bash
    name="dongxiucai"
    echo `expr index "$name" g`

    查找   g   字符在子符串中的位置:运行结果:

      

      在查找匹配字符串时,可以也可以这样写:

    #!/bin/bash
    name="dongxiucai"
    echo `expr index "$name" xn`

      后面有两个字符,哪个字符先出现,就输出那个字符的位置:运行结果:

      

      结果为   3  ,因为  n   先出现  ,则位置显示  n  的位置  ,结果为   3

    注意:在  expr  中的符号为   `  反引号,而不是单引号   '  ,不要看错输错了

  • 相关阅读:
    Java之Map遍历方式性能分析:ketSet与entrySet
    Java之null保留字
    Java之&0xff用法解析以及原码、反码、补码相关知识
    Android之使用apt编写编译时注解
    Android之ViewPager.PageTransformer
    Android Studio利用javac导出Api文档
    06_Java多线程、线程间通信
    05_Java异常(Exception)
    04_Java面向对象特征之继承与多态
    03_Java面向对象特征: 封装性
  • 原文地址:https://www.cnblogs.com/dongxiucai/p/9398410.html
Copyright © 2011-2022 走看看