资讯专栏INFORMATION COLUMN

【剑指offer】2.替换空格

Leo_chen / 3271人阅读

摘要:例如,当字符串为则经过替换之后的字符串为。题目说的不太严谨能不能允许连续出现多个空格若有可能连续多个空格,用多个还是单个进行替换分三种情况解答不会出现连续多个空格直接用空格将字符串切割成数组,在用进行连接。

题目描述

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

题目说的不太严谨:

1.能不能允许连续出现多个空格?

2.若有可能连续多个空格,用多个还是单个20%进行替换?

分三种情况解答

1.不会出现连续多个空格:

直接用空格将字符串切割成数组,在用20%进行连接。

function replaceSpace(str)
{
    return str.split(" ").join("%20");
}

2.允许出现多个空格,每个空格均用一个20%替换:

用正则表达式找到所有空格依次替换

function replaceSpace(str)
{
    return str.replace(/s/g,"%20");
}

-----2019.1.8----- add

这里使用上面的split方法也是可以的,例如

"a   b".split(" ") 

["a", "", "", "b"]

join

a%20%20%20b

-----2019.1.8----- add

3.允许出现多个空格,多个空格用一个20%替换:
用正则表达式找到连续空格进行替换

function replaceSpace(str)
{
    return str.replace(/s+/g,"%20");
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100805.html

相关文章

  • Problem 4:替换空格(字符串)

    摘要:注用替换的原因,空格在码中的序号为,用十六进制表示为。在第一个空格处,空格替换为,空格之后的字符全部右移三个位置。同理,第一次移动后,向后遍历,在第二个空格处继续将后边字符移动。因此后者应舍去,否则会不通过牛客测试。 一、题目描述 请实现一个函数,将一个字符串中的每个空格替换成%20。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。注...

    wenyiweb 评论0 收藏0
  • 剑指offer(javascript版)

    摘要:二维数组中的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如输入前序遍历序列和中序遍历序列,则重建二叉树并返回。 1.二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数...

    imtianx 评论0 收藏0
  • 剑指Offer(Java版) 持续更新中

    摘要:面试题从尾到头打印链表输入一个链表,从尾到头打印链表每个节点的值面试题重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。例如输入前序遍历序列和中序遍历序列,则重建二叉树并返回。队列中的元素为类型。其中负数用补码表示。 面试题2 单例(之前有整理,略) 面试题3 二维数组中的查找 public boolean find(int target, int [][] arra...

    justCoding 评论0 收藏0
  • 剑指offer中的算法题(PHP版)

    摘要:二维数组中的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。解法有两种,一种是递归法,一种是迭代法但是递归法计算的时间复杂度是以的指数的方式递增的,如果面试中千万不要用递归法,一定要用迭代法。 二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和...

    big_cat 评论0 收藏0

发表评论

0条评论

Leo_chen

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<