# -*- coding: utf-8 -*-
"""
Created on Mon Oct 28 17:30:22 2019
@author: weiping
"""
val = 'a,b , gudd , tt'
val.split(',')
pp = [x.strip() for x in val.split(',')]
pp
''' 字符串连接 '''
a,b,c,d = pp
a +"-" +b+"-"+c+"-"+d #字符串可以直接用 + 连接
"-".join(pp) #与上述结果相同
'''字符串定位'''
'tt' in pp
val.index(',') #返回第一个 ‘,’的 位子 Out[221]: 1
val.find(',')# Out[222]: 1
val.index('::') #报错 ValueError: substring not found
val.find('::') # Out[224]: -1
val.rfind(',') #Out[228]: 11 返回最后一字符串出现的位置
'''find和index的区别,如果找不到字符串 index会报异常,find 会返回 -1 '''
val.count(',') #返回 字符串的出现次数,没有则返回 0
val.count('::')
val.replace(',','--')
pp[3].ljust(10) #返回固定长度10的字符串 不够的用 空格 替代 Out[231]: 'tt '
'''
简述正则表达式(regex)
'''
import re
import pandas as pd
text = 'ig\trng\twe\tskt'
print(text)
'''ig rng we skt'''
re.split('\s+',text) # \s+ 表示一个或多个 空白符 (制表符 空格 换行符等)
regex = re.compile('\s+')
regex.split(text)
regex.findall(text) #找出要匹配的所有值
regex.search(text)
regex.sub('----',text) #类似replace 但是范围更广(text.replace('\t','----'))
'''Out[248]: 'ig----rng----we----skt'''
addr = 'haeg:we@163.com /fdfs:ig@gmail.com/dfdf: rng@qq.com'
pattern = '[a-z]*@[a-z0-9]*\.[a-z]{3}'
ad = re.findall(pattern,addr)
#Out[256]: ['we@163.com', 'ig@gmail.com', 'rng@qq.com']
pat = '([a-z0-9]*)@([a-z0-9]*)\.([a-z]{3})'
ad2 = re.findall(pat,addr)
df = pd.DataFrame(ad2,columns = ['name','mail','net'])
df
'''
Out[261]:
name mail net
0 we 163 com
1 ig gmail com
2 rng qq com
'''
#代码可复制执行
正则表达式模块详细可以阅读 https://docs.python.org/zh-cn/3/library/re.html