一周总结2022-7-29

目录

vim中复制黏贴某一部分:

不同文件之间复制和粘贴:

重复上一次命令:

去掉字符串后面的行号

 元字符

re.match(pattern, string, flags=0)

re.search(pattern, string, flags=0)

re.findall(pattern, string, flags=0)

re.split(pattern, string, maxsplit=0, flags=0)

re.sub(pattern, repl, string, count=0, flags=0)


vim中复制黏贴某一部分:

shift+v进入可视化模式,鼠标左键选中需要复制的部分,esc退出可视化模式,鼠标选择黏贴的地方,按鼠标中键黏贴。

vim 复制粘贴_IC learner的博客-CSDN博客_vim 复制
 

1. 将光标移动到要复制的文本开始的地方,按   进入可视模式。
2. 将光标移动到要复制的文本的结束的地方,按 y 复制,并退出可视模式。
3. 移动光标到粘贴的地方,按p粘贴。

vim 的基本操作-复制粘贴_octopusHu的博客-CSDN博客_vim 复制一行并且粘贴


不同文件之间复制和粘贴:

1. 将光标移动到要复制的文本开始的地方,按   进入可视模式。
2. 将光标移动到要复制的文本的结束的地方,按"+ y 复制,并退出可视模式。
3. 移动光标到粘贴的地方,按"+p粘贴。

vim 复制粘贴_IC learner的博客-CSDN博客_vim 复制


重复上一次命令:

. 命令可以重复上次普通命令。

@: 重复上次ex命令。

@@ 重复执行。

vimの重复上次命令_mengtianwxs的博客-CSDN博客


 将多个CSV文件合并,去掉第一行。将第二行相同的CSV文件按序写入。

#!/user/bin/python

import glob

csv_list = glob.glob('file_path/*.csv')

dict = {}
for i in csv_list:
    with open(i, 'w') as csvfile:
	    csvfile = csvfile.readlines()

		#remove line1
		del csv_list[0]

		#specify line2 as dict.keys and remains as dict.values
		if csv_list[0] in dict.keys():
		    dict[csv_list[0]].extend(csv_list[1:])
		else:
		    dict[csv_list[0]] = csv_list[1:]
			
with open('final_result3.csv', 'a') as f:
    f.write('name, depth, node_kind,,,,,,')
	
	for key,value in dict.items():
	    f.write(key)
		for string in value:
		    f.write(string)
			

去掉字符串后面的行号

import re
test = 'abc_5_4_3_ada_3_4_5_asda_4'
#找出test的行号
row = re.findall('_\d{1,3}$', test)
#去掉行号
test_without_row = re.sub(row[0]+'$', '', test, 1)

 元字符

[ ]指定字符集或范围,[0-9],[a, b, c]
^匹配行首,返回一个字符串列表
$匹配行尾,返回一个字符串列表
\\d:匹配数字 \s:匹配空白符 \w: 匹配数字字母下划线
{n}重复n次
*匹配任意次
+匹配一次或多次
.匹配除换行符的任意字符
?匹配一次或零次
{m, n}最少重复m次,最多重复n次

re.match(pattern, string, flags=0)

match()方法用于从字符串的开始位置进行匹配,如果起始位置匹配成功,则返回Match对象,否则返回None

re.search(pattern, string, flags=0)

re.search()方法扫描整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None。

与re.match()方法不同,re.match()方法要求必须从字符串的开头进行匹配,如果字符串的开头不匹配,整个匹配就失败了。

  • group() 返回被 RE 匹配的字符串
  • start() 返回匹配开始的位置
  • end() 返回匹配结束的位置
  • span()返回一个元组包含匹配 (开始,结束) 的位置

Python的re.match()和re.search()的使用和区别_埃菲尔没有塔尖的博客-CSDN博客_re.match和re.search区别

 注释:如果想要在re.match匹配的过程中保存下来匹配完成的结果的时候,需要使用(),有几个括号,re.match出来的结果matchObj.group()的下标就从1到几,最终输出对应的匹配的结果。

re.match函数讲解_唐僧爱吃唐僧肉的博客-CSDN博客_re.match函数

flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:

    re.I 忽略大小写
    re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
    re.M 多行模式
    re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
    re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
    re.X 为了增加可读性,忽略空格和 # 后面的注释
python re.match函数的使用_胡小牧的博客-CSDN博客_python re.match

re.findall(pattern, string, flags=0)

re.findall()函数是返回某种形式(比如String)中所有与pattern匹配的全部字符串,返回形式为数组。

Python 之正则表达re.compile()与re.findall()详解_扒啦啦的博客-CSDN博客

re.findall()用法详解_IT之一小佬的博客-CSDN博客_re.findall 

Python爬虫常用正则re.findall的使用_三颗草丶的博客-CSDN博客_re.findall用法 

re.split(pattern, string, maxsplit=0, flags=0)

re.split()能够按照所能匹配的字串将字符串进行切分,返回切分后的字符串列表 

python 中re.split()的用法_Crystal_Coding的博客-CSDN博客_re.split 

re.split()总结_HYUJKI的博客-CSDN博客_re.split 

re.sub(pattern, repl, string, count=0, flags=0)

re.sub()用法的详细介绍_jackandsnow的博客-CSDN博客_re sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值