《零基础Go语言算法实战》【题目 1-14】字符串的替换

《零基础Go语言算法实战》

【题目 1-14】字符串的替换

请编写一个函数,将字符串中的空格全部替换为"%20"。假定该字符串有足够的空间存

放新增的字符,并且知道字符串的真实长度(≤ 1000),同时保证字符串由大小写的英文字

母组成。给定一个字符串为原始串,返回替换后的字符串。

【解答】

① 思路。

本题可以使用 Go 语言内置函数 unicode.IsLetter() 来判断字符是否为字母,之后使用

strings.Replace() 函数来替换空格。

② Go 语言实现。

package main

import (

"strings"

16

第1章 Go语言入门

"unicode"

)

func replaceBlank(s string) (string, bool) {

if len([]rune(s)) > 1000 {

return s, false

}

for _, v := range s {

if string(v) != " " && unicode.IsLetter(v) == false {

return s, false

}

}

return strings.Replace(s, " ", "%20", -1), true

}

相关推荐
陈随易10 小时前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·后端·程序员
王老师青少年编程10 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
叼烟扛炮11 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
天疆说11 小时前
【哈密顿力学】深入解读航天器交会最优控制中的Hamilton函数
人工智能·算法·机器学习
陈随易12 小时前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
wuweijianlove12 小时前
关于算法设计中的代价函数优化与约束求解的技术7
算法
leoufung12 小时前
LeetCode 149: Max Points on a Line - 解题思路详解
算法·leetcode·职场和发展
样例过了就是过了12 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
HXDGCL13 小时前
矩形环形导轨:自动化循环线的核心运动单元解析
运维·算法·自动化
谭欣辰13 小时前
C++ 排列组合完整指南
开发语言·c++·算法