zoukankan      html  css  js  c++  java
  • 字符串的方法

    ========================类型==============================

    var str='king';
    console.log(typeof str);            string


    var strObj=new String('king');
    console.log(typeof strObj);       obj

    ========================================================
    console.log(strObj[0]);                    k输出下标为0的字符
    console.log(strObj.length);        4 输出这个字符串的长度
    console.log(strObj.valueOf());        king 返回指定对象的原始值
    console.log(strObj.toString());        king 返回一个表示该对象的字符串
    console.log("nana"[0]);              n 返回字符串nana的下标为0的字符
    console.log("helloworld".length);       10 字符串的长度

    =========================了解============================
    var str=String('1234');
    str=String(true);               true
    str=String({x:1});             [object Object]
    str=String(null);               null
    console.log(str);

    ======================charAt()=============================
    var str='king';
    charAt()根据下标返回指定的字符
    console.log(str.charAt(0));          k
    console.log(str.charAt(1));        i
    console.log(str.charAt(2));       n
    console.log(str.charAt(3));       g
    console.log(str.charAt(10));          空的 什么都不显示 没有找到下标为10的字符

    ======================charCodeAt()==========================
    var str='abcdef';

    charCodeAt():返回指定字符的ASCII码值
    console.log(str.charCodeAt(0));       107
    console.log(str.charAt(6));       空的什么都不显示 没有找到下标为6的字符
    console.log(str.charCodeAt(-123));     NaN 字符串的第一个下标是0,如果是负数的话 或者大于等于字符串的长度 返回的是NaN

    ======================fromCharCode()========================
    fromCharCode():根据指定的ASCII放回对应的字符
    console.log(String.fromCharCode(97)); //a
    console.log(String.fromCharCode(65,66,67)); //A B C

    =======================concat()=============================
    concat():连接字符串
    var str='hello ';
    console.log(str.concat('world'));  hello world
    console.log(str.concat('world ','!'));  hellow world !

    ======================indexOf()===========================

    字符串搜索相关
    var str='this is a test';
    console.log(str.indexOf('t'));    输出0
    console.log(str.indexOf('is'));   输出2 搜素的是is整体 搜索到i的位置就输出
    console.log(str.indexOf('Is'));   搜索不到输出-1
    console.log(str.indexOf('i'));  2
    console.log(str.indexOf('i',5));   ('i',5) 5是开始搜索的位置(下标) 空格也算一个字符

    通过indexOf()可以统计一个字符在指定字符串中出现的次数
    var str='sssssdlkfjlwk34jlksdfjlksjdlf234';
    var count=0;
    var pos=str.indexOf('s');
    while(pos!=-1){
    count++;
    pos=str.indexOf('s',pos+1);
    }
    console.log(count);


    lastIndexOf():最后一次出现的位置
    var str='this is a test';
    console.log(str.indexOf('is')); //2
    console.log(str.lastIndexOf('is')); //5

    =========================localeCompare====================

    比较两个字符串 前面的比后面的 按照ASCII码进行比较 前面的大于后面的输出的是大于零的数 后面的大于前面的输出的是小于0的数
    console.log('h'.localeCompare('j'));//-1
    console.log('z'.localeCompare('a'));//1
    console.log('a'.localeCompare('a'));//0
    console.log('b'.localeCompare('B'));//1

    ===========================match():=======================
    match():找到一个或多个正则表达式的结果 返回的是内容
    var str='this is a test of king show time';
    var re=/IS/i; //找的东西放在//里面 i不区分大小写
    console.log(str.match(re));

    var str='QWERTYUIOPASDFGHJKLZXCVBNMqwertyuioasdfghjkzxcvbnm';
    console.log(str.match(/[a-f]/ig));   [a-f]找其中的任意一个都行 i不区分大小写 g全局查找

    ========================search()=======================
    search():根据正则表达式进行搜索 返回的是下标而且不读取全局(g
    var str='this is a test';
    console.log(str.search(/is/));   2
    console.log(str.search(/IS/));   -1
    console.log(str.search(/IS/i));   2

    ======================replace()=======================
    replace替换 replace(/需要替换的内容/,'替换的内容')
    var str='this is a test IS';
    var newStr=str.replace(/IS/ig,'<span style="color:red;">is</span>');
    console.log(newStr);
    document.write(newStr);

    var str="2015-09-26";
    var newStr=str.replace(/(d{4})-(d{2})-(d{2})/,"$2*$3*$1");   (d{n})代表的是0-9要n位 $替换位置
    console.log(newStr);

    var str="2015-09-25";
    var newStr=str.replace(/(d{4})-(d{2})-(d{2})/,func);
    function func(match,d1,d2,d3){
    return [d2,d3,d1].join('/');
    }
    console.log(newStr);

    ======================截取字符串=====================
    截取字符串slice()是数组中常用
    var str='abcdef';
    console.log(str.slice(2));   cedf 从下标为2的字符开始到结束
    console.log(str.slice(0,2));   ab 从下标为0的字符开始到下标为2 的结束 不包括下标为2的字符
    console.log(str.slice(-3));   def 负数是从后往前数 包括-3
    console.log(str.slice(-4,-2));   cd 不包括结束的那个字符
    console.log(str.slice(0,-1));  abcde 从下标为0的字符开始到从后数为-1的结束 不包括-1
    截取字符串substr(开始下标,截取长度)是字符串中常用 截取长度不能为负数
    console.log(str.substr(3));   def 从下标为3的字符开始到结束
    console.log(str.substr(0,4));   abcd 从下标为0 的字符开始截取四个字符串(长度
    截取字符串substring(开始下标,结束下标)如果只写开始下标 默认截取的字符串从开始下标到字符串结束 结束下标不支持负数
    console.log(str.substring(0,2));  ab 从下标0开始到下标2结束 不包括下标2
    console.log(str.substring(2));   cdef 从下标2开始到字符结束

    =================split(separator,howmany)==============
    split(separator,howmany)将字符串拆分成数组
    split(howmany)括号内的东西是去掉字符串中括号内有的东西 并且替换成逗号 成为数组
    如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

    var str='2015-08-12';
    var arr=str.split('-');
    console.log(arr);
    var str='a b c d e f';
    var arr=str.split(' ');
    console.log(arr);

    arr=str.split(' ',3);    split(' ',3) 后边的3表示长度 只要3个
    console.log(arr);

    ================字符串大小写========================
    字符串大小写相关
    与 toLowerCase() 不同的是,toLocaleLowerCase() 方法按照本地方式把字符串转换为小写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase() 一样。
    console.log("KING".toLowerCase());   小写
    console.log("KING".toLocaleLowerCase());
    console.log('nana'.toUpperCase());   大写
    console.log('nana'.toLocaleUpperCase());

    =================trim()============================
    trim()去字符串两边的空格 只是字符串俩边的空格里面的不会去掉
    var str=' ab c ';
    alert("!"+str+"!");
    alert("!"+str.trim()+"!");

    ==================================================
    产生锚点 给span标签加了a标签 括号内是给a标签加了个名字
    var str='<span style="color:red;">this is test</span>';
    document.body.innerHTML=str.anchor('contents_anchor');

    ==================================================

    产生链接
    var title='this is of king show time';
    var url='http://phpfamily.org';
    document.write('Click Me to Visit My Blog'+title.link(url));

  • 相关阅读:
    POJ1417 True Liars
    POJ2912 Rochambeau
    POJ3904 Sky Code
    [SDOI2016]排列计数
    POJ2947 Widget Factory
    HDU5015 233 Matrix
    Problem 2242. -- [SDOI2011]计算器
    POJ2480 Longge's problem
    Problem 2818. -- Gcd
    LA3510 Pixel Shuffle
  • 原文地址:https://www.cnblogs.com/songhao/p/10225085.html
Copyright © 2011-2022 走看看