go 字符串修改的操作代码

字符串和切片(string and slice)

string底层就是一个byte的数组,因此,也可以进行切片操作。

package main
import ("fmt")
func main(){
    str :="hello world"
    s1 := str[0:5]
    fmt.Println(s1)
    s2 := str[6:]
    fmt.Println(s2)}

输出结果:

hello
world

修改英文字符串

string本身是不可变的,因此要改变string中字符。需要如下操作:

package main
import (
	"fmt"
)
func main() {
	str := "Hello world"
	s := []byte(str) //中文字符需要用[]rune(str)
	s[6] = 'G'
	s = s[:8]
	s = append(s, '!')
	str = string(s)
	fmt.Println(str)
}

修改中文字符串

package main
import (
	"fmt"
)
func main() {
	str := "你好,世界!hello world!"
	s := []rune(str)
	s[3] = '啊'
	s[4] = '锋'
	s[12] = 'g'
	s = s[:14]
	str = string(s)
	fmt.Println(str)
}

补充知识:Go语言实现修改字符串的三种方法

/*
修改字符串
注意:字符串是无法被修改的,只能复制原字符串,在复制的版本上修改
方法1:转换为[]byte()
方法2:转换为[]rune()
方法3:新字符串代替原字符串的子字符串,用strings包中的strings.Replace()
*/
func main() {
    //方法1
    s1 := "abcdefgabc"
    s2 := []byte(s1)
    s2[1] = 'B'
    fmt.Println(string(s2)) //aBcdefgabc
    //方法2
    s3 := []rune(s1)
    s3[1] = 'B'
    fmt.Println(string(s3)) //aBcdefgabc
    //方法3
    new := "ABC"
    old := "abc"
    s4 := strings.Replace(s1, old, new, 2)
    fmt.Println(s4) //ABCdefgABC
}

到此这篇关于go 字符串修改的文章就介绍到这了,更多相关go 字符串修改内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 深入理解 Go 中的字符串

    目录 字符串的本质 字符串的底层原理 字符串的本质 在编程语言中,字符串发挥着重要的角色.字符串背后的数据结构一般有两种类型: 一种在编译时指定长度,不能修改 一种具有动态的长度,可以修改. 比如:与Python 中的字符串一样,Go 语言中的字符串不能被修改,只能被访问.在 Python 中,如果改变一个字符串的值会得到如下结果: >>> hi = "Hello" >>> hi 'Hello' >>> hi[0] = 'h' Tr

  • go语言中五种字符串的拼接方式(小结)

    目录 +拼接方式 sprintf函数 Join函数 buffer.Builderbuffer.WriteString函数 buffer.Builder函数 ps:直接使用运算符 主要结论 +拼接方式 这种方式是我在写golang经常用的方式,go语言用+拼接,php使用.拼接,不过由于golang中的字符串是不可变的类型,因此用 + 连接会产生一个新的字符串对效率有影响. func main() { s1 := "hello" s2 := "word" s3 :=

  • Go 字符串比较的实现示例

    目录 Compare 和 EqualFold 区别 忽略大小写比较 字符串比较, 可以直接使用 == 进行比较, 也可用用 strings.Compare 比较 go 中字符串比较有三种方式: == 比较 strings.Compare 比较 strings.EquslFold 比较 #### 代码示例 ```go fmt.Println("go"=="go") fmt.Println("GO"=="go") fmt.Prin

  • Golang 字符串与字节数组互转的实现

    目录 一.字符串与字节数组? 二.详细代码 1.字节转字符串 2.字符串转字节数组 3.完整运行测试 总结 一.字符串与字节数组? 字符串是 Go 语言中最常用的基础数据类型之一,本质上是只读的字符型数组,虽然字符串往往都被看做是一个整体,但是实际上字符串是一片连续的内存空间. Go 语言中另外一个类型字节(Byte).在ASCII中,一个英文字母占一个字节的空间,一个中文汉字占两个字节的空间.英文标点占一个字节,中文标点占两个字节.一个Byte数组中的元素对应一个ASCII码. 二.详细代码

  • Go语言中的字符串拼接方法详情

    目录 1.string类型 2.strings包 2.1 strings.Builder类型 2.2 strings.Reader类型 3.bytes.Buffer 3.1 bytes.Buffer:写数据 3.2 bytes.Buffer:读数据 4.字符串拼接 4.1 直接相加 4.2strings.Builder 4.3 strings.Join() 4.4 bytes.Buffer 4.5 append方法 4.6 fmt.Sprintf 5.字符串拼接性能测试 1.string类型 s

  • go 字符串修改的操作代码

    字符串和切片(string and slice) string底层就是一个byte的数组,因此,也可以进行切片操作. package main import ("fmt") func main(){ str :="hello world" s1 := str[0:5] fmt.Println(s1) s2 := str[6:] fmt.Println(s2)} 输出结果: helloworld 修改英文字符串 string本身是不可变的,因此要改变string中字符

  • Mybatis批量修改的操作代码

    1.修改的字段值都是一样的,id不同 <update id="batchUpdate" parameterType="String"> update cbp_order set status=1 where id in <foreach item="id" collection="array" open="(" separator="," close=")&q

  • SpringCloud Feign请求头删除修改的操作代码

    Feign请求头修改删除操作 @Configuration public class ClientConfiguration { @Bean public RequestInterceptor headerInterceptor() { return new RequestInterceptor() { @Override public void apply(RequestTemplate template) { HttpServletRequest httpServletRequest = (

  • asp批量添加修改删除操作示例代码

    核心代码: <title>asp批量添加修改删除操作示例</title> <% if request.Form("op")="update" then'表单提交 ids=request.Form("ids") if ids<>"" then response.Write "要删除的数据id集合:"&ids&"<br>"

  • C#操作字符串方法总结实例代码

    废话不多说了,具体代码如下所述: staticvoid Main(string[] args) { string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Console.WriteLine(s[0]); // 输出"A"; Console.WriteLine(s.Length); // 输出4 Console.WriteLine(); //(2)打散为字符数组(ToCharArray) s ="ABC

  • Android webview注入JS代码 修改网页内容操作

    今天开发的时候遇到一个需求,就是需要隐藏webview的元素,鼓捣了半天 在stack overFlow找到了解决办法 在此记录一下 final WebView webview = (WebView)findViewById(R.id.browser); webview.getSettings().setJavaScriptEnabled(true); webview.setWebViewClient(new WebViewClient() { @Override public void onP

  • Python数字/字符串补零操作实例代码

    有时候在使用 Python 的时候,想要对一个数字或者字符串进行补零操作,即把「1」变为一个八位数的「00000001」,这个时候可以使用一下方法来进行补零. 字符串补零: 可以使用 zfill() 函数来给字符串补零: >>> str = "123" >>> print(str.zfill(8)) 00000123 还能把整数转化成字符来使用 zfill() 补零: >>> num = 123 >>> print

  • Jedis对redis的五大类型操作代码详解

    本篇主要阐述Jedis对redis的五大类型的操作:字符串.列表.散列.集合.有序集合. JedisUtil 这里的测试用例采用junit4进行运行,准备代码如下: private static final String ipAddr = "10.10.195.112"; private static final int port = 6379; private static Jedis jedis= null; @BeforeClass public static void init

  • Java封装数组实现在数组中查询元素和修改元素操作示例

    本文实例讲述了Java封装数组实现在数组中查询元素和修改元素操作.分享给大家供大家参考,具体如下: 前言:在上一小节中,我们已经对如何往数组中添加一个元素的方法进行了编写,此节中我们就如何查询出数组中元素与修改元素的方法进行编写. 在数组中,数据是存储在私有变量data中的,若我们想知道打印输出一些关于data中数据相关信息,我们可以使用toString()方法,在java中,该方法需要每个类自定义重写实现,针对该类,自定义如下: @Override public String toString

  • Java8 日期、时间操作代码

    目录 一.简介 本地化日期时间 API 使用时区的日期时间API 二.日期初识 三.时间初识 四.比较与计算 五.时区 六.格式化 七.相关类说明 java8时间使用小结 一.简介 在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题.故此,Java8引入了一套全新的日期时间处理API,新的API基于ISO标准日历系统. Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对

随机推荐