首页 > 其他 > 详细

字符串分割的实现

时间:2020-03-18 00:49:51      阅读:72      评论:0      收藏:0      [点我收藏+]

最近看书时,突然想到,字符串分割应该很简单,毕竟是常用的函数,如果不使用语言提供的原生方法,怎么实现字符串的分割?

发现坑也有几个,直接码代码吧,简单的用go语言实现了一下。

 1 func split(str , seg string) []string  {
 2     st := []rune(str)
 3     sr := []rune(seg)
 4     L := make([]int,len(st)/2) //起始位置索引
 5     R := make([]int,len(st)/2) //结束位置索引
 6 
 7     n:=0//分割计数
 8     a:=0//上一次的位置
 9     for i:=0; i <= len(st)-len(sr); i++ {//注意长度
10         b := true
11         
12         for j:=0 ; j < len(sr); j++ {    
13             if st[i+j]!=sr[j]{
14                 b=false
15                 break
16             }    
17         }
18         if b{
19             L[n]=a
20             R[n]=i
21             a=i+len(sr)
22             i=a
23             n++
24         }
25     }
26     var ss []string
27     if n!=0{
28         L[n]=a  //注意:可分割时,不要忘了最末尾的那一个
29         R[n]=len(st)
30         ss = make([]string,n+1)
31         for i := 0; i <= n; i++ {
32             x := L[i]
33             y := R[i]        
34             ss[i] = string(st[x:y])
35         }
36         return ss
37     }
38     ss = make([]string,1)  //不能分割的话,也应该返回
39     ss[0] = str
40     return ss
41 }

 

字符串分割的实现

原文:https://www.cnblogs.com/ShengunErshu/p/12514554.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!