leetcode--替换空格

这篇博客详细介绍了两种在LeetCode中替换字符串空格的方法:1) 使用String.split()和Array.join()组合操作,2) 利用String.replace()直接替换。文章分别阐述了这两个方法的概要、参数、返回值、描述,并给出了具体示例和代码实现。
摘要由CSDN通过智能技术生成

1、第一种方法

使用split+join方法

1.1 String split()

将一个字符串切分为一个由字符串组成的数组

概要

string.split(delimiter,limit)

参数

delimiter:string切分处的字符串或正则表达式

limit:这个可选的整数指定已返回数组的最大长度。如果指定,则最多返回数量为这个数字的子串。如果没有指定,则将切分整个字符串,无论结果数组有多长

返回

一个由字符串组成的数组,通过在由delimiter界定的边界处切分string为子串创建。返回数组中的子串不包含delimiter本身

描述

split()方法创建返回一个数组,内容为至多limit个给定的字符串string的子串。这些子串是这样创建的:从string的开头搜索到结尾,在所有匹配delimiter的文本的前方及后方断开。分割文本不包含在返回的子串中。

注意:如果分隔符(delimiter)匹配给字符串的开头内容,则返回数组的第一个元素将是空字符串—出现在分隔符之前的文本。类似地,如果分隔符匹配该字符串的末尾,则返回数组的最后一个元素(假设与limit不冲突)将是空字符串

如果没有指定delimiter,则字符串string将不会切分,返回的数组将只包含一个未切分的字符串元素。如果delimiter为空字符串或是一个匹配空字符串的正则表达式,则字符串string将在每个字符之间断开,返回的数组将与string拥有一样的长度,当然,这是在假设没有指定更小的limit的情况下。(注意只是一个特例,因为第一个字符之前和最后一个字符之后的空字符不匹配)

示例

"1:2:3:4:5".split(":")//返回["1","2","3","4","5"]
"|a|b|c|".split("|")//返回["","a","b","c",""]

1.2 Array.join()

将数组元素链接为字符串

概要

array.join()

array.join(separator)

参数

separator:在返回的字符串中,用来分隔数组的某个元素与下一个元素的可选字符或字符串。如果省略,默认是英文逗号(,)

返回值

一个字符串。将array的每一个元素转化为字符串,然后用separator字符串分隔开,最后链接为返回的字符串

描述

join()将数组的每一个元素转换为字符串,并通过在中间插入指定的separator字符串将它们链接起来,最后返回链接好的字符串

示例

a=new Array1,2,3,"testing";
s=a.join("+");//s是字符串"1+2+3+testing"

代码

/**
 * @param {string} s
 * @return {string}
 */
var replaceSpace = function(s) {
   if(typeof s==='string'&&s.length>=0&&s.length<=10000){
       return s.split(' ').join('%20')
   }
};

2、第二种方法

使用replace()

String.replace()

替换匹配给定正则表达式的(一个或多个)子串

概要

string.replace(regexp,replacement)

参数

regexp:指定了要替换的模式的RegExp对象。如果这个参数是一个字符串,它将用作一个要搜索的直接量文本模式;它将不会先转化为RegExp对象`

replacement:一个内容为替换文本的字符串,或者一个函数,用于在调用时生成对应的替换文本

返回

一个新的字符串,其中匹配regexp的第一个或所有的地方已替换为replacement

描述

replace()在字符串string上执行查找与替换的操作。它在string中搜索一个或多个匹配regexp的子串并使用replacement替换。如果regexp指定全局属性“g”,则replace()将替换所有匹配的子串。在其他情况下,它只替换第一个匹配的子串

示例

s = "We are happy."
s.replace(/\s/g,'%20')//=>"We%20are%20happy."

代码

var replaceSpace = function(s) {
   return s.replace(/\s/g,'%20')
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值