您的位置:首页 > 编程语言 > Python开发

Python字符串split学习一(自定义字符串拆分)

2013-09-20 20:44 465 查看
开始学习python,第二天,尽管python内建函数split已经能干很多事情,但是遇到这种情况就要自己定义函数了:

string = '  wang__chuang_____bo '


#coding=utf-8
#string split
#author wangchuanbo
#time 2013-09-20

s = '&aa    ab        ac    ad&'
#去掉字符串开头和结尾的指定字符
s1 = s.strip('&')
print s1

#步骤一:先找第一个单词
a = s1.find(" ")
word1 = s1[:a]
print 'the first word is:',word1

#步骤二:找第二个单词
while s1[a] == " ":
a = a + 1
b = s1.find(" ",a)
word2 = s1[a:b]
print 'the second word is:',word2

#自定义的拆分方法
#string:要拆分的字符串,delimiter:分隔符,begin_end:字符串开始和结尾标识符
def my_split(string,delimiter,begin_end=" "):
string = string.strip(begin_end)
a = string.find(delimiter)
first_word = string[:a]
result = []
result.append(first_word)
b = a
while b <= len(string) and b != -1:
while string[a] == delimiter:
a = a + 1
b = string.find(delimiter,a)
if b != -1:
res = string[a:b]
else:
res = string[a:]
a = b
result.append(res)
return result

s1 = '&adfs    sdfjklsj  dd de&'  #如果仅是拆除空格s1.split()可以搞定
print my_split(s1," ","&")
s2 = '  jkj**jkjk*jkkk****d '
print my_split(s2,"*")
s3 = ' wang__chuan_____bo  '
print my_split(s3,'_')
s4 = '   wang..xiao.....yuan '
print my_split(s4,'.')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: