码迷,mamicode.com
首页 > 其他好文 > 详细

字符串分割的实现

时间:2020-03-17 23:56:48      阅读:43      评论:0      收藏:0      [点我收藏+]

标签:var   c split   字符串分割   函数   for   怎么   结束   直接   实现   

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

发现坑也有几个,直接码代码吧,简单的用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 }

 

字符串分割的实现

标签:var   c split   字符串分割   函数   for   怎么   结束   直接   实现   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!