golang 如何翻转含有中文 数字 英文字母等任意字符串
问题描述
翻转含有 中文、数字、英文字母
等任意字符串
示例
输入:"he師l發lo,世。+-*界,6"
输出:"6,界*-+。世,ol發l師eh"
Golang 实现
package mainimport "fmt"func reverseString(s string) string {// 将字符串转换为 rune 类型的切片,并对该切片翻转res := reverse([]int32(s))// 再把 rune 类型的切片转为 stringreturn string(res)
}func reverse(s []int32) []rune {// 左右指针,对切片依次翻转for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 {s[i], s[j] = s[j], s[i]}return s
}func main() {s := "he師l發lo,世。+-*界,6"res := reverseString(s)fmt.Println(res)
}
rune
关键字是 int32
的别名,比 byte
可以表示更多的字符,可以处理一切字符。
因此,将字符串转为 rune
的切片,再进行翻转,即可解决。
当然,你也可以写 []int32
。
在 go 的源码中:
type byte = uint8type rune = int32
李培冠博客
欢迎访问我的个人网站:
李培冠博客:lpgit.com
golang 如何翻转含有中文 数字 英文字母等任意字符串相关推荐
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: ...
- 正则表达式 匹配中文,英文字母和数字及_长度详解
http://www.juapk.com/thread-2472-1-1.html 匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及 ...
- 【转】正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
[转]正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度 using System.Text.RegularExpressions; 匹配中文:[\u4e00-\u9fa5] 英文字母:[a ...
- 【C#】正则表达式匹配中文,英文字母和数字及_写法!并控制长度
using System.Text.RegularExpressions; 匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[ ...
- 正则表达式匹配中文,英文字母和数字及_的写法!
匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [ ...
- mysql6位数货币大写,生成数字+英文字母大小写彩虹字符集(6位),共有62^6种可能_MySQL...
生成数字+英文字母大小写彩虹字符集(6位),共有62^6种可能_MySQL--生成数字+英文字母大小写彩虹字符集(6位),共有62^6种可能 with cte as ( select number a ...
- 排序数字英文字母交错,由小到大
/*** @description: 排序数字英文字母交错,由小到大* @param {type} 如:[1,'a',2,'b',3,'c','d','e']* @return:*/const arr ...
- 用正则表达式求非负整数 、匹配正整数、非正整数、负整数、整数、非负浮点数、正浮点数、非正浮点数、负浮点数、浮点数、有数字26个英文字母组成的字符串
用正则表达式求非负整数 .匹配正整数.非正整数.负整数.整数.非负浮点数.正浮点数.非正浮点数.负浮点数.浮点数.有数字26个英文字母组成的字符串 // *** // 1.求非负整数: var str ...
- Python 输出10个不重复的英文字母 随机输入一个字符串,把最左边的10个不重复的英文字母(不区分大小写)挑选出来。 如没有10个英文字母,显示信息“找不到10个不重复的英文字母”
输出10个不重复的英文字母 随机输入一个字符串,把最左边的10个不重复的英文字母(不区分大小写)挑选出来. 如没有10个英文字母,显示信息"找不到10个不重复的英文字母" 输入格式 ...
最新文章
- pcb结构链表_第2章 2-1进程与PCB
- IM4Java + GraphicsMagick 实现高清图片剪裁处理
- 世界上最美丽的23个公式
- 移动端页面输入法挡住input输入框的解决方法
- Linux备份MySQL xshell_linux shell脚本备份mysql数据库
- 【SVM最后一课】详解烧脑的Support Vector Regression
- fibonacci数列的性质(ZOJ3707)
- Proactor设计模式:单线程高并发
- thymeleaf select_SpringBoot整合thymeleaf简单的CRUD
- flutter 输入框限制输入 数字、小数
- 方舟编译器的安装和编译Helloword(2)
- 【过关斩将般的一步步实现】windows本机通过xftp/xshell连接Ubuntu虚拟机服务器
- 如何重命名c盘中users文件夹下的文件名
- cf 467 B. Sleepy Game
- 从MDK分散加载文件学习STM32启动流程
- 使用Intent协议在webview中跳转三方app
- php教程--案例4(判断闰年)
- Java数组初始化长度
- 大数据时代物联网技术发展前景与应用分析
- 洛谷刷题C语言:闰年判断、Apples、洛谷团队系统、肥胖问题、三位数排序
热门文章
- 右上角的引用文献格式_word2007自动生成参考文献引用并且右上角标注
- 为了彻底弄懂CSS中的1px究竟有多长,我翻出了家里的卷尺
- java读写ini文件
- python 均匀采样_机器学习采样方法大全
- 启动:错误信息FDT and ATAGS support not compiled in – hanging分析解决
- iOS开发-iPhoneX的适配-iPhoneX屏幕适配分享
- 委内瑞拉通过加密货币使用法令
- Davinci使用教程(安装配置、绘图流程、权限设置)
- tf Quaternion
- 单片机c语言警报程序,51单片机产生“嘀、嘀、……”报警声