首页 > 数据库 >字符串函数_Linux_python_R_SQL

字符串函数_Linux_python_R_SQL

时间:2023-03-29 13:44:51浏览次数:34  
标签:函数 Jaro python SQL 索引 Linux 字符串 find string

字符串处理

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

相关文章

  • python-docx表格样式列表
    示例源码importdocxwdoc=docx.Document()table=wdoc.add_table(rows=2,cols=2)row=table.rows[0]row.cells[0].text='书号'row.cells[1].text='我的著......
  • abap动态sql
    *&---------------------------------------------------------------------**&ReportZPARMETERS3*&*&---------------------------------------------------------......
  • python字典合并
    #合并字典dic_a={"user":"aa","pwd":"123"}dic_b={"age":12,"sex":"男"}#1.update方法#dic_a.update(dic_b)#print(dic_a)#2.字典解包#dic_new={**dic_a......
  • 《Python编程快速上手—让繁琐工作自动化》实践项目答案:第三章
    Collatz序列1、题目:编写一个名为collatz()的函数,它有一个名为number的参数。如果参数是偶数,那么collatz()就打印出number//2,并返回该值。如果number是奇数,co......
  • 经典动态规划题(python)
    python动态规划性质最优子结构性质。如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质(即满足最优化原理)。最优子结构性质为动态规划算......
  • 《Python编程快速上手—让繁琐工作自动化》实践项目答案:第四章
    1.逗号代码:有这样的列表:spam=['apples','bananas','tofu','cats']编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔......
  • Python基础 day7 数据类型(集合、字典、浮点型float)
    day7数据类型(集合、字典、浮点型float)课程概要:set集合,一个不允许重复重复&可变类型(元素可哈希)。dict字典,一个容器且元素必须是键值对。float类型,我们生活中常见的......
  • 第6章 Linux的档案权限与目录管理
    一、使用者与群组1、档案拥有者由于Linux是个多人多任务的系统,常常可能有多人同时使用这部主机来进行工作,为了考虑每个人的隐私以及每个人喜好的工作环境而建立档案......
  • Linux前置
    一、虚拟机下载VMware软件二、选择Linux内核当前热门的Linux内核有CentOS,Ubuntu三、快速实现文件上传FinalShell四、LinuxLinux是一种操作系统,电脑是由操作系统和硬......
  • Mysql主从同步
    一、主从复制的重要性   日常系统业务流量的增长,一台MySQL数据库服务器已经满足不了需求了,会负载过重,容易出现查询效率慢、宕机的情况,导致用户体验差、数据的丢失。......