• JavaScript学习笔记(五)--- String类型


    String类型

    1.字符串的模式匹配方法 

      1) match(),与RegExp的exec()方法相同,也只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。

    var text = "cat,bat,fat,sat";
    var pattern = /.at/;
    
    var matches = text.match(pattern);
    alert(matches[0]); //cat
    alert(matches.index); //0
    alert(pattern.lastIndex); //0

      2) search(),从字符串开头向后查找模式,返回字符串中第一个匹配项的索引,如果没有则返回-1

    var text = "cat,bat,fat,sat";
    var pattern = /at/;
    var pos = text.search(pattern);
    alert(pos); //1 ;第一个匹配的位置
    

      3) replace() ,替换子字符串的操作函数

    var text = "cat,bat,fat,sat";
    
    var resultReplace = text.replace("at","ond");
    alert(resultReplace); //cond,bat,fat,sat 
    
    resultReplace  = text.replace(/at/g,"ond");
    alert(resultReplace); //cond,bond,fond,sond

      ps:如果第一个参数是字符串,那么只会替换第一个子字符串。要想替换说有子字符串,唯一的办法就是提供一个正则表达式,而且要指定全局(g)标志。

    • replace()方法的第二个参数也可以是一个函数。

    例如:转义HTML代码中的< 、> 、“ 和 &

    var pattern = /[<>"&]/g;
    function htmlEscape(text){
        return text.replace(pattern,function(match,pos,originalText){
            switch(match){
                case "<":
                    return "&lt;";
                case ">":
                    return "&gt;";
                case """:
                    return "&quot";
                case "&":
                    return "&amp";
            }
        });
    } 
    
    var text = "<p class="paraBg">Hello Word!</p>" ;
    alert(htmlEscape(text));

      4) split()方法,基于指定的分隔符将一个字符串分割成多个子串,并将结果放在一个数组中。第二个参数可用于指定数组的大小。

    var url = "http://item.taobao.com/item.htm?a=1&b=2&c&d=xxx&e";
    var result = url.split("?");
    var re = result[1]; 
    alert(re);//a=1&b=2&c&d=xxx&e
    var r = re.split("&");
    for(var i=0;i<r.length;i++){
        alert(r[i]);
    }

      5)fromCharCode()方法 与 charCodeAt()执行的是相反的操作。

    fromCharCode()方法接收一或多个字符编码,然后将它们转化成一个字符串。

    alert(String.fromCharCode(65,66,101)); //ABe
  • 相关阅读:
    4-9 内置函数和匿名函数的题
    4-09 试题
    4--2日 函数 装饰器 作业题
    if 语句
    4-4日 内置函数,匿名函数
    4-4日 列表推导式,生成器推导式
    4-3日 迭代器 生成器
    4-2日装饰器,带参数的装饰器
    python 函数名 、闭包 装饰器 day13
    [LeetCode]-DataBase-Department Top Three Salaries
  • 原文地址:https://www.cnblogs.com/yanyangbyou/p/3958624.html
Copyright © 2020-2023  润新知