《零基础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

}

相关推荐
Tisfy1 天前
LeetCode 961.在长度 2N 的数组中找出重复 N 次的元素:5种语言x5种方法(及其变种) —— All By Hand
数据结构·数学·算法·leetcode·题解
小O的算法实验室1 天前
2024年ESWA SCI1区TOP,容错文化概率粒子群算法+多 AGV 路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
WW_千谷山4_sch1 天前
洛谷P1120&UVA307 [CERC 1995] 小木棍
c++·算法·深度优先
XLYcmy1 天前
高级密码猜测生成器AdvancedPasswordGenerator密码生成器程序详细分析
开发语言·python·算法·网络安全·开发工具·源代码·口令安全
KaneLogger1 天前
2025我常用的 AI 产品
程序员·全栈·招聘
im_AMBER1 天前
Leetcode 93 找出临界点之间的最小和最大距离
c++·笔记·学习·算法·leetcode
有一个好名字1 天前
力扣:除自身以外数组的乘积
java·算法·leetcode
bkspiderx1 天前
C++中的访问控制:private、public与protected的深度解析
开发语言·c++·算法·访问控制·private·public·protected
ullio1 天前
arc207c - Combine to Make Non-decreasing
算法
ZhuNian的学习乐园1 天前
LLM对齐核心:RLHF 从基础到实践全解析
人工智能·python·算法