• 一个人开发一个产品,小程序从0到1,第8章 字符串


    字符串或串(string)是由数字、字母、下划线组成的一串字符。一它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

    通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。在微信小程序中,string字符串可用''或""声明,可用length属性获取长度。常用方法可分为查找、截取和转换。

    9.1 查找

    charAt(index) : 获取指定位置的字符(下标index从0开始);

    charCodeAt(index) : 获指定的位置的字符的Unicode编码(下标index从0开始);

    indexOf(searchvalue,start): 从字符串开头向后搜索子字符串,没有找到匹配的返回-1; searchvalue为需检索的字符串值, start为开始位置,默认为0。

    lastIndexOf(searchvalue,start):从字符串尾向前开始搜索子字符串,没有找到匹配的返回-1; searchvalue为需检索的字符串值,start为开始位置,默认为最后一个字符处。

    localeCompare(target): 用本地特定的顺序来比较两个字符串;

    match(regexp): 存放匹配结果的数组;

    search(searchvalue): 指定查找的字符串的起始位置; searchvalue为查找的字符串或者正则表达式。

    Page({
      //字符串查找方法例子
      onLoad: function(options) {
        let str = '我不是程序,我是码农。';
        let at = str.charAt(3);
        let codeAt = str.charCodeAt(1);
        console.log('字符串:%s', str);
        console.log('charAt(3)=%s, charCodeAt(1)=%s', at, codeAt);
        let i = str.indexOf("码农");
        let l = str.lastIndexOf("程序");
        console.log('indexOf=%d,lastIndexOf=%d', i, l);
        let c = str.localeCompare('程序');
        let m = str.match('程序', '码农');
        console.log('localeCompare=%s,match=%s', c, m)
        let s = str.search('程序');
        console.log('search=%s', s)
      }
    })

    9.2 截取

    slice(start,end): 提取字符串的某个部分,并以新的字符串返回被提取的部分。Start为必填项,要抽取的片断的起始下标,第一个字符位置为 0。end为可选项,紧接着要抽取的片段的结尾的下标。

    split(separator,limit): separator字符串或正则表达式,为可选项。limit可选,默认为数组的最大长度。

    substring(from,to): from必填项,正整数,规定要提取的子串的第一个字符在字符串中的位置。to可选。正整数,默认那么返回的子串会一直到字符串的结尾。

    Page({
      //字符串截取例子
      onLoad: function(options) {
        let str = '不会编码的人,也能称码农?';
        let s = str.slice(2, 4);
        console.log('字符串=%s', str);
        console.log('str.slice(2,4)=%s', s);
        let a = str.split(',');
        console.log('str.split(,)=%s', a);
        let sb = str.substring(1,2);
        console.log('substring(1,2)=%s', sb);
      }
    })

    9.3 转换

    toString()方法;数值、字符串、对象、布尔;都有toString方法;这个方法唯一能做的就是返回相应的字符串;其中null和undefined没有toString()方法;

    String()属于强制转换, null转换的结果为null;undefined转换的结果为undefined;其余的如果有toString()方法,即调用该方法并返回相应的结果;

    valueOf: 返回String对象的原始值, 隐式调用;

    String.fromCharCode(n1, n2, ..., nX): 将 Unicode 编码转为一个字符;

    toLowerCase: 用于把字符串转换为小写;

    toLocaleLowerCase: 与 toLowerCase() 不同的是,toLocaleLowerCase() 方法按照本地方式把字符串转换为小写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase() 一样。

    toUpperCase: 把字符串转换为大写。

    toLocaleUpperCase: 与 toUpperCase() 不同的是,toLocaleUpperCase() 方法按照本地方式把字符串转换为大写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toUpperCase() 一样。​​​​​​

    Page({
      //字符串转换例子
      onLoad: function(options) {
        let str = "i love Programming.";
        let v = str.valueOf();
        console.log('字符串=%s', str);
        console.log('valueOf=%s', v);
        let l = str.toLowerCase();
        let u = str.toUpperCase();
        console.log('toLowerCase=%s,toUpperCase=%s', l, u);
        let f = String.fromCharCode('30721', '20892');
        console.log('fromCharCode=%s', f);
      }
    })

    9.4 其他

    concat(string1, ..., stringX): 连接两个或更多字符串,并返回新的字符串;

    trim: 去除字符串两边的空白;

    replace(searchvalue,newvalue):  在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。

    Page({
      //字符串其他方法例子
      onLoad: function(options) {
        let str = " 我是程序猿";
        let c = str.concat(',','我喜欢听歌.');
        let t = c.trim();
        console.log('concat=%s', c);
        console.log('trim=%s', t);
        let r = t.replace(/我/g,'你');
        console.log('replace=%s',r);
      }
    })

    我是一名傲娇的程序员,当了10多年技术总监,工作很忙时,我只在我的公众号:半码(halfcode)发布文章。

  • 相关阅读:
    Hive安装
    hbase安装
    Spring boot 出现的时间
    RESTful Web API 实践
    Java的进阶之道
    Spring boot 注解简单备忘
    使用 xshell 登录 Windows 的 linux 子系统
    Nginx 实用配置
    跟着大彬读源码
    跟着大彬读源码
  • 原文地址:https://www.cnblogs.com/halfcode/p/12710642.html
Copyright © 2020-2023  润新知