String字符串操作

作者: 贤总_ | 来源:发表于2019-05-14 10:47 被阅读0次
    字符串长度

    length 属性返回字符串的长度

    var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var sln = txt.length;
    console.log(sln);  //26
    
    字符串拼接

    直接用+号:
    String a = "I"; String b = "love"; String c = "you";String d = a+b+c;
    就能得到I love you了
    "I"+"love"+"you"得到的也是I love you

    字符串比较

    ==和equals都能比较字符串,返回的都是boolean类型
    String a ="I";String b = "love";
    a==b;返回false
    a.equals(b)返回false
    ==比较的是2个字符串是否指向同一地址,equals()比较的是实际字符串,比如大小写,长度等

    是否包含

    1, contains();返回值为boolean类型
    String a = "szrfrrgdhjd";
    a.contains("g") 里面包含,所以返回true

    2, indexOf();返回的是一个int类型,通常和substring()一起用
    String a = "qwertyu";
    a.indexOf("e");他返回的是int类型的2,就是说e在字符串a中的第2个位置
    如果有多个e的话,始终返回的是第一个e的位置
    indexOf() 方法返回字符串中指定文本首次出现的索引(位置)
    lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引
    如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1。

    是否为空

    1, == null;
    2, isEmpty();返回的都是boolean
    String a = "sssss";
    a.idEmpty(); a不是空,返回的是false

    分割字符串

    split()分割字符串返回的是一个String数组

    String a = "abcdeAfghijk";
    String [] b = a.split("A");//以A作为分割点,将字符串a分割为2个字符串数组分别为
    b[0] = "abce";
    b[1] = "efghijk"
    

    如果字符串包含好几个A呢

    String a = "abcdeAfghAijk";
    String [] b = a.split("A");  //以每个A作为分割点,得到的是
    b[0] = "abde";
    b[1] = "fgh";
    b[2] = "ijk";
    

    还有更多就依此类推

    截取字符串中间段

    提取部分字符串
    有三种提取部分字符串的方法:
    slice(start, end) (如果某个参数为负,则从字符串的结尾开始计数。)
    substring(start, end)
    substr(start, length)

    substring(int start,int end)截取从start到end中间的字符串,也可以只传入一个int start 截取从start到最后
    下面来一个实际操作:
    {name=段炼, age=25, sex=男, id=12, hobby=吃饭。睡觉} 中拿到id是多少的值,也就是拿到int类型的12

    String s = "{name=段炼, age=25, sex=男, id=12, hobby=吃饭。睡觉}";
             if (s.contains("id")) {
               //拿到id字段是处于字符串第几个位置
               int start = s.indexOf("id");
               //"id"字段后面是"hobby"字段,拿到hobby字段的位置
               int end = s.indexOf("hobby");
               /*
                * {name=段炼, age=25, sex=男, id=12, hobby=吃饭。睡觉}
                * start + 3:从i开始+3个正好是id也就是12开始的地方,
                * end-2:hobby-2正好是12结束的位置;一共减去了一个h和一个逗号
                */
               String a = s.substring(start + 3, end-2);
               //得到id后转换成int类型
              int id = Integer.parseInt(a);
    

    得到的id就是12

    字符串替换

    replace(oldChar, newChar)方法
    参数1:要被替换的字符,参数2:替换进去的字符
    该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。例如:

    String s = "abcde8fghijk8lmn";
    String a = s.replace('8', 'Q');
    //a的值为"abcdeQfghijkQlmn"
    

    replaceAll(String regularExpression, String replacement), 替换所有包含的字符串
    参数1:要替换的字符串,2,替换进去的字符串

    String s = "QQQQabcWWWabcGGGGabc";
    String a = s.replaceAll("abc", "PPP");
    //a的值为"QQQQPPPWWWPPPGGGGPPP"
    

    如果只替换第一个abc用replaceFirst()

    String s = "QQQQabcWWWabcGGGGabc";
    String a = s.replaceFirst("abc", "PPP");
    //a的值为"QQQQPPPWWWabcGGGGabc"
    
    转换为大写和小写

    通过 toUpperCase() 把字符串转换为大写

    var text1 = "Hello World!";       // 字符串
    var text2 = text1.toUpperCase();  // text2 是被转换为大写的 text1
    console.log(text2)   //HELLO WORLD!
    

    通过 toLowerCase() 把字符串转换为小写

    var text1 = "HELLO WORLD!";       // 字符串
    var text2 = text1.toLowerCase();  // text2 是被转换为小写的 text1
    console.log(text2)    //hello world!
    
    concat() 方法

    concat() 连接两个或多个字符串:

    var text1 = "Hello";
    var text2 = "World!";
    var text3 = text1.concat(" ",text2);
    console.log(text3)  //Hello World!
    

    concat() 方法可用于代替加运算符。下面两行是等效的:

    var text = "Hello" + " " + "World!";
    var text = "Hello".concat(" ","World!");
    

    所有字符串方法都会返回新字符串。它们不会修改原始字符串。
    正式地说:字符串是不可变的:字符串不能更改,只能替换。

    去空格

    ltrim()、rtrim() 和 trim() 函数的区别   
    返回不带前导空格 (ltrim)、后续空格 (rtrim) 或前导与后续空格 (trim) 的字符串

    trim() 方法删除字符串两端的空白符
    警告:Internet Explorer 8 或更低版本不支持 trim() 方法。

    提取字符串字符

    这是两个提取字符串字符的安全方法:

    • charAt(position)
    • charCodeAt(position)

    charAt() 方法返回字符串中指定下标(位置)的字符串:

    var str = "HELLO WORLD";
    str.charAt(0);            // 返回 H
    

    charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码:

    var str = "HELLO WORLD";
    str.charCodeAt(0);         // 返回 72
    
    把字符串转换为数组

    可以通过 split() 将字符串转换为数组:

    var str = "a,b,c,d,e,f";
    var arr = str.split(",");
    console.log(arr)  //a,b,c,d,e,f
    
    str .split(" ");          // 用空格分隔
    str .split("|");          // 用竖线分隔
    

    原文:https://blog.csdn.net/dl10210950/article/details/52557089/

    相关文章

      网友评论

        本文标题:String字符串操作

        本文链接:https://www.haomeiwen.com/subject/ohwjaqtx.html