JS字符串常用操作

1.截取
  • substr
    substr(start,length)方法截取字符串(包括start
    start:必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
    length: 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
    如下:从第三位起截取五个字符:
    image.png
  • substring
    substring(start,end)方法用于提取字符串中介于两个指定下标之间的字符。(不包括end
    start,必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
    end,可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1,如果省略该参数,那么返回的子串会一直到字符串的结尾。
    重要事项:与 slice() 和substr() 不同的是,substring() 不接受负的参数。,如果参数值为负数先转化为0,
    substr()相同的例子,结果却有所不同:
    image.png
  • slice
    slice(start,end)方法 与subtring(start,end)类似,区别是参数可为负数
    对比如下:
    image.png
2.查找和替换
  • search
    search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,返回第一个与 regexp 相匹配的子串的起始位置,没有找到任何匹配的子串,则返回 -1。
  • match
    match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。
  • indexOf / lastIndexOf
    indexOf(searchvalue,fromindex) 方法可返回某个指定的字符串值在字符串中首次出现的位置,没有找到任何匹配的子串,则返回 -1。
    searchvalue:必需。规定需检索的字符串值
    fromindex: 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。
    indexOf() 方法对大小写敏感!
    lastIndexOf(searchvalue,fromindex) 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
    searchvalue:必需。规定需检索的字符串值。
    fromindex:可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
  • replace
    replace(regexp/substr,replacement)方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,返回一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。(不改变原始字符串
    regexp/substr:必需。规定子字符串或要替换的模式的 RegExp 对象。
    replacement: 必需。一个字符串值。规定了替换文本或生成替换文本的函数。
3.字符串转换数组(split方法)

split(separator,howmany),返回一个字符串数组。
该数组是通过在separator 指定的边界处将字符串 stringObject分割成子串创建的,返回的数组中的字串不包括 separator 自身,但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)
separator:必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

4.实用项目场景
  • 根据位置数组,对字符串中的特定字符标色
    方法一:
   // 指定排序的比较函数 
function compare(property) {
        return function(obj1, obj2) {
            var value1 = obj1[property];
            var value2 = obj2[property];
            return value1 - value2; // 升序
        }
}
function drawhighlight(item, posarr) {  
        posarr = posarr.sort(compare("pos")); 
        //es6写法
        /* posarr = posarr.sort((a, b) => {
           return a.pos - b.pos;
        }); */
        var newitem = item;
        for (var i = 0; i < posarr.length; i++) {
            var item2 = posarr[i];
            var pos = item2.pos;
            var len = item2.len;
            var replacestr = "<fonth>" + item.substr(pos, len) + "</fonth>";
            pos += i * 15;
            newitem = newitem.substring(0, pos) + replacestr + newitem.substring(pos + len)
        }
        return newitem;
 }

方法二:....

s

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353