字符串处理
grep 查找命令 筛选信息
awk cut 按照指定要求分割-awk 截取列信息 cut 截取字符串信息
awk FS 对第一行没作用 要用大写的BEGIN
方法01.利用 expr index来求索引
方法02.利用awk和列号来获取指定索引的值
sed tr
sed(流式编辑器)sed主要用来修改文件-增删改查
tr替换或删除命令
拼接
wc 统计命令字数、行数、字节数。
sort排序命令
uniq去重命令
双向重定向 tee < << > >> |
文件
join paste expand split
xargs -i
expr:计算字符串的长度、索引命令功能
。
Unix 下的 diff 及 patch 即是利用编辑距离来进行文本编辑对比的例子
编辑距离(Edit Distance)
Levenshtein Distance指两个字串之间,由一个转换成另一个所需的最少编辑操作次数
允许的编辑操作包括:插入一个字符(Insertions) 删除一个字符(Deletions) 将其中一个字符替换成另一个字符(Substitutions)。
主要就是"字符串"匹配场景
Damerau-Levenshtein 距离
Jaro 距离 匹配窗口(记为matching window,mw) 该算法强调的是局部相似度
LCS(最长公共子序列)距离
python 字符串操作常用操作
###字符串特性
01.索引特性:负数索引--从末端建立索引,从-1开始
正数索引--从起始端建立索引,从0开始
02. 分片特性:对字符串子序列建立索引
###如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等
连接 + 检查成员的 in
str.strip(): r.lstrip(): .rstrip()
replace
str.join:连接2个字符串
s.split("e")
zfill(11)
#str.index 和str.find 功能相同,区别在于find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。
字符串输出
format 输出
r可以防止字符串在时候的时候不被转义告诉编译器这个string是个raw string,不要转义
###正则:
import re
###高阶函数和匿名函数
生成器表达式 enumerate
map()函数、filter()函数 sorted()
R语言
.substr(x = ,start = 1, stop = 3) # 提取字符串(首字母大写)
strsplit 分隔拆分字符串 strsplit("2022:9:21",':')
paste(str1,str2,...,sep = ' ')其中sep是连接符,默认为空格
grep函数
regexpr()函数
gregexpr()函数
SQL
函数操作
字符串长度函数:length
字符串连接函数:concat
带分隔符字符串连接函数:concat_ws
集合查找函数 find_in_set(string str, string strList)
分割字符串函数: split
分割转多行:
lateral view用于和split, explode等UDTF一起使用
regexp
SQLite 是动态数据类型,而 duckdb 是静态类型
SQLite是行存 duckdb是列存
Apache Arrow 是一个通用的列式内存格式,方便在内存中做大数据量的计算或者传输,
有很多 OLAP 数据引擎都在用-duckdb 也支持 arrow 格式,
DuckDB
select distinct on(function_name) function_name, function_type, return_type, parameters, parameter_types
from duckdb_functions()
where function_type='scalar' limit 10;
string
string[begin:end] array_extract(list, index) array_slice(list, begin, end) substr(string, start, length)
concat(string, ...) concat_ws(separator, string, ...)
contains(string, search_string) instr(string, search_string) length(string) position(search_string in string)
replace(string, source, target) regexp_matches(string, regex) regexp_replace(string, regex, replacement, modifiers)
mismatches(string, string)
mathematical functions
jaro_similarity(string, string) jaro_winkler_similarity(string, string)
字符串相似度比较算法:Jaro–Winkler similarity的原理
Jaro distance(又称Jaro similarity),这是由Matthew A. Jaro在1989年提出的算法
Jaro-Winkler distance是由William E. Winkler在Jaro distance的基础上进一步改进的算法
标签:函数,Jaro,python,SQL,索引,Linux,字符串,find,string
From: https://www.cnblogs.com/ytwang/p/17268623.html