问题描述

翻转含有 中文、数字、英文字母 等任意字符串

示例

输入:"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 如何翻转含有中文 数字 英文字母等任意字符串相关推荐

  1. 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度

    匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_:  ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: ...

  2. 正则表达式 匹配中文,英文字母和数字及_长度详解

    http://www.juapk.com/thread-2472-1-1.html 匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z]  数字:[0-9] 匹配中文,英文字母和数字及 ...

  3. 【转】正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度

    [转]正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度 using System.Text.RegularExpressions; 匹配中文:[\u4e00-\u9fa5] 英文字母:[a ...

  4. 【C#】正则表达式匹配中文,英文字母和数字及_写法!并控制长度

    using System.Text.RegularExpressions; 匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[ ...

  5. 正则表达式匹配中文,英文字母和数字及_的写法!

    匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [ ...

  6. mysql6位数货币大写,生成数字+英文字母大小写彩虹字符集(6位),共有62^6种可能_MySQL...

    生成数字+英文字母大小写彩虹字符集(6位),共有62^6种可能_MySQL--生成数字+英文字母大小写彩虹字符集(6位),共有62^6种可能 with cte as ( select number a ...

  7. 排序数字英文字母交错,由小到大

    /*** @description: 排序数字英文字母交错,由小到大* @param {type} 如:[1,'a',2,'b',3,'c','d','e']* @return:*/const arr ...

  8. 用正则表达式求非负整数 、匹配正整数、非正整数、负整数、整数、非负浮点数、正浮点数、非正浮点数、负浮点数、浮点数、有数字26个英文字母组成的字符串

    用正则表达式求非负整数 .匹配正整数.非正整数.负整数.整数.非负浮点数.正浮点数.非正浮点数.负浮点数.浮点数.有数字26个英文字母组成的字符串 // *** // 1.求非负整数: var str ...

  9. Python 输出10个不重复的英文字母 随机输入一个字符串,把最左边的10个不重复的英文字母(不区分大小写)挑选出来。 如没有10个英文字母,显示信息“找不到10个不重复的英文字母”

    输出10个不重复的英文字母 随机输入一个字符串,把最左边的10个不重复的英文字母(不区分大小写)挑选出来. 如没有10个英文字母,显示信息"找不到10个不重复的英文字母" 输入格式 ...

最新文章

  1. pcb结构链表_第2章 2-1进程与PCB
  2. IM4Java + GraphicsMagick 实现高清图片剪裁处理
  3. 世界上最美丽的23个公式
  4. 移动端页面输入法挡住input输入框的解决方法
  5. Linux备份MySQL xshell_linux shell脚本备份mysql数据库
  6. 【SVM最后一课】详解烧脑的Support Vector Regression
  7. fibonacci数列的性质(ZOJ3707)
  8. Proactor设计模式:单线程高并发
  9. thymeleaf select_SpringBoot整合thymeleaf简单的CRUD
  10. flutter 输入框限制输入 数字、小数
  11. 方舟编译器的安装和编译Helloword(2)
  12. 【过关斩将般的一步步实现】windows本机通过xftp/xshell连接Ubuntu虚拟机服务器
  13. 如何重命名c盘中users文件夹下的文件名
  14. cf 467 B. Sleepy Game
  15. 从MDK分散加载文件学习STM32启动流程
  16. 使用Intent协议在webview中跳转三方app
  17. php教程--案例4(判断闰年)
  18. Java数组初始化长度
  19. 大数据时代物联网技术发展前景与应用分析
  20. 洛谷刷题C语言:闰年判断、Apples、洛谷团队系统、肥胖问题、三位数排序

热门文章

  1. 右上角的引用文献格式_word2007自动生成参考文献引用并且右上角标注
  2. 为了彻底弄懂CSS中的1px究竟有多长,我翻出了家里的卷尺
  3. java读写ini文件
  4. python 均匀采样_机器学习采样方法大全
  5. 启动:错误信息FDT and ATAGS support not compiled in – hanging分析解决
  6. iOS开发-iPhoneX的适配-iPhoneX屏幕适配分享
  7. 委内瑞拉通过加密货币使用法令
  8. Davinci使用教程(安装配置、绘图流程、权限设置)
  9. tf Quaternion
  10. 单片机c语言警报程序,51单片机产生“嘀、嘀、……”报警声