开始学习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,'.')