一,前言
现在开始正式进入Python之路,书籍使用《Python语言及其应用》2016年1月版,2018年1月印刷。
之前刷了网易精品课的Python,大学有一定的编程基础。
昨天学习了第二章的Python基本元素,也编写了99乘法表。
二,学习点
2.1 切片 [Start:end:step],中间分隔符为“:”
2.2 分割split,格式:处理字符串.split(','),分隔符‘,’也可是使用其他分隔符,如果没有分隔符,则默认使用换行符‘\n’, ' ' , '\t'。
2.3 合并join ,‘,’.join(处理字符串)
2.4 字符串常用命令 len(),startswith(),endswith(),find(),count(),isalnum()
2.5 删除字符 字符串.strip('.')注意,strip只会剔除字符串首尾的指定字符,不能剔除字符串中间的字符
import re
a = ".....This is a new day\t ,Happy new time\n,,,,,....."
b = a.strip('.Th')
print('First translate:\n',b)
b = b.replace('is','IS')
print('First translate:\n',b)
print(re.sub('[\r\n\t]', ' GG', b))
First translate:
is is a new day ,Happy new time
,,,,,
First translate:
IS IS a new day ,Happy new time
,,,,,
IS IS a new day GG ,Happy new time GG,,,,,
这三个函数放在一起可以有助于理解:
strip()只删除字符串首尾字符,且能对连续字符删除
replace能代替某特定字符
re.sub能代替复杂的字符串
re.sub共有五个参数。
re.sub(pattern, repl, string, count=0, flags=0)
其中三个必选参数:pattern, repl, string
两个可选参数:count, flags
pattern,表示正则中的模式字符串,这个没太多要解释的。
需要知道的是:
反斜杠加数字(\N),则对应着匹配的组(matched group)比如,想要处理:
hello crifan, nihao crifan
且此处的,前后的crifan,肯定是一样的。
而想要把整个这样的字符串,换成crifanli
则就可以这样的re.sub实现替换:
inputStr = "hello crifan, nihao crifan";
replacedStr = re.sub(r"hello (\w+), nihao \1", "crifanli", inputStr);
repl,就是replacement,被替换,的字符串的意思。
repl可以是字符串,也可以是函数。
repl是字符串
如果repl是字符串的话,其中的任何反斜杠转义字符,都会被处理的。
即:
\n:会被处理为对应的换行符;