请实现一个函数,将一个字符串s中的每个空格替换成“%20“。
例如,当字符串为“We Are Happy“.则经过替换之后的字符串为“We%20Are%20Happy“。
数据范围:
。保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。
def tk(str,find_str,re_str): if not find_str in str: return str #如果找不到返回原字符串 l=[];re_str_index=[] for i in range(0,len(str)): l.append(str[i:i+len(find_str)]) #按find_str长度分割原字符串保存到列表中 for i in range(len(l)): if l[i]==find_str: l[i]=re_str #替换字符串 re_str_index.append(i) #保存替换时的索引位置 for i in range(len(l)): for j in re_str_index: if i==j: l[i+1:i+len(find_str)]="" #使find_str中对应的l首个字符为空,方便后续合并 new_str_lis=[] for i in range(len(l)): if not i in re_str_index: new_str_lis.append(l[i][0]) #如果index_l(即i)不在re_str_index里,则读取l[i]首个字符 else: new_str_lis.append(l[i]) #否则直接读取替换时的字符串,即读取re_str等价于l[i] return "".join(new_str_lis) print(tk(str="We Are Hap%20py",find_str=" ",re_str="%20")) print(tk(str="We Are Hap%20py",find_str=" Ar",re_str="%20")) print(tk(str="We Are Hap%20py",find_str="3",re_str="%20"))
function replaceSpace( s ) { let result = ''; for(let i = 0;i < s.length;i++) { if(s[i] === ' ') { result += '%20'; } else { result += s[i]; } } return result; }方法二:使用字符串的replace方法,将正则对象作为参数传入replace方法function replaceSpace( s ) { let regx = new RegExp(' ','g'); return s.replace(regx,'%20'); }方法三:将字符串以空格作为分隔符使用split()转成数组,然后对数组使用join()方法function replaceSpace( s ) { return s.split(' ').join('%20'); }方法四:将字符串使用扩展运算符转成数组,然后使用数组的map方法function replaceSpace( s ) { let arr = [...s].map(item => { return item === ' ' ? '%20' : item; }); return arr.join(''); }