【自然语言处理】NLP入门(四):1、正则表达式与Python中的实现(4):字符串常用函数

文章目录

  • 一、前言
  • 二、正则表达式与Python中的实现
    • 1.字符串构造
    • 2. 字符串截取
    • 3. 字符串格式化输出
    • 4.字符转义符
    • ASCII编码
    • 5. 字符串常用函数
      • a. 字符串长度:len()
      • b. max() 和 min()
      • c. Unicode码转换:ord()和chr()
      • d. 进制转换函数
      • 函数与方法之比较

一、前言

  本文将介绍字符串常用函数,包括:len();max() 和 min();ord()和chr();bin()、oct()、hex()等。

二、正则表达式与Python中的实现

1.字符串构造

2. 字符串截取

【自然语言处理】NLP入门(一):1、正则表达式与Python中的实现(1):字符串构造、字符串截取

3. 字符串格式化输出

【自然语言处理】NLP入门(二):1、正则表达式与Python中的实现(2):字符串格式化输出(%、format()、f-string)

4.字符转义符

【自然语言处理】NLP入门(三):1、正则表达式与Python中的实现(3):字符转义符

ASCII编码

CharacterOctalDecimalHexadecimalBinary
3位8进制数十进制数2位16进制数8位2进制数
NUL (null)00000000000000
SOH (start of heading)00110100000001
STX (start of text)00220200000010
ETX (end of text)00330300000011
EOT (end of transmission)00440400000100
ENQ (enquiry)00550500000101
ACK (acknowledge)00660600000110
BEL (bell)00770700000111
BS (backspace)01080800001000
HT (horizontal tab)01190900001001
LF (line feed)012100A00001010
VT (vertical tab)013110B00001011
FF (form feed)014120C00001100
CR (carriage return)015130D00001101
SO (shift out)016140E00001110
SI (shift in)017150F00001111
DLE (data link escape)020161000010000
DC1 (device control 1)021171100010001
DC2 (device control 2)022181200010010
DC3 (device control 3)023191300010011
DC4 (device control 4)024201400010100
NAK (negative acknowledge)025211500010101
SYN (synchronous idle)026221600010110
ETB (end of transmission block)027231700010111
CAN (cancel)030241800011000
EM (end of medium)031251900011001
SUB (substitute)032261A00011010
ESC (escape)033271B00011011
FS (file separator)034281C00011100
GS (group separator)035291D00011101
RS (record separator)036301E00011110
US (unit separator)037311F00011111
SPACE040322000100000
!041332100100001
"042342200100010
#043352300100011
$044362400100100
%045372500100101
&046382600100110
047392700100111
(050402800101000
)051412900101001
*052422A00101010
+053432B00101011
,054442C00101100
-055452D00101101
.056462E00101110
/057472F00101111
0060483000110000
1061493100110001
2062503200110010
3063513300110011
4064523400110100
5065533500110101
6066543600110110
7067553700110111
8070563800111000
9071573900111001
:072583A00111010
;073593B00111011
<074603C00111100
=075613D00111101
>076623E00111110
?077633F00111111
@100644001000000
A101654101000001
B102664201000010
C103674301000011
D104684401000100
E105694501000101
F106704601000110
G107714701000111
H110724801001000
I111734901001001
J112744A01001010
K113754B01001011
L114764C01001100
M115774D01001101
N116784E01001110
O117794F01001111
P120805001010000
Q121815101010001
R122825201010010
S123835301010011
T124845401010100
U125855501010101
V126865601010110
W127875701010111
X130885801011000
Y131895901011001
Z132905A01011010
[133915B01011011
\134925C01011100
]135935D01011101
^136945E01011110
_137955F01011111
`140966001100000
a141976101100001
b142986201100010
c143996301100011
d1441006401100100
e1451016501100101
f1461026601100110
g1471036701100111
h1501046801101000
i1511056901101001
j1521066A01101010
k1531076B01101011
l1541086C01101100
m1551096D01101101
n1561106E01101110
o1571116F01101111
p1601127001110000
q1611137101110001
r1621147201110010
s1631157301110011
t1641167401110100
u1651177501110101
v1661187601110110
w1671197701110111
x1701207801111000
y1711217901111001
z1721227A01111010
{1731237B01111011
|1741247C01111100
}1751257D01111101
~1761267E01111110
DEL (delete)1771277F01111111

5. 字符串常用函数

  在Python中有很多内置函数可以对字符串进行操作。如len()ord()chr()max()min()等。

a. 字符串长度:len()

s = "Hello World"
length = len(s)
print(length) 
  • 输出: 11

b. max() 和 min()

  根据ASCII值返回字符串中的最大或最小字符。

s = "abcde"
max_char = max(s)
min_char = min(s)
print(max_char)  # Output: 'e'
print(min_char)  # Output: 'a'

  由 ASCII码表可知’1’<‘2’,‘1’<‘a’,‘A’<‘a’,那么汉字?

max('我','a','A','1') 
min('我','a','A','1')
  1. ASCII码(American Standard Code for Information Interchange) 是最早的字符编码方案,使用7位(后来扩展为8位)二进制数字来表示128(后来扩展为256)个字符,包括英文字母、数字、标点符号和一些控制字符。ASCII码最初只为英语设计,不支持其他语言字符。

  2. Unicode码(Universal Character Set,通用字符集) 是一种更加全面的字符编码方案,包含了几乎所有已知的文字符号、标点符号、符号、文字、音标、图形符号等。Unicode码使用16位(后来扩展为32位)二进制数字来表示字符,所以可以表示更多的字符。Unicode码的目标是覆盖全球所有的字符,并为各种语言和文化提供一致的字符编码方案。

  ASCII码是Unicode码的一个子集,在ASCII码中,只使用了Unicode码的前128个字符。~ 所以上述汉字最大
在这里插入图片描述

  • ASCII码前面补零——>Unicode码

c. Unicode码转换:ord()和chr()

  • ord() 返回给定字符的 Unicode 码点
  • chr() 返回给定 Unicode 码点对应的字符
char = 'A'
unicode_code = ord(char)
print(unicode_code)  # Output: 65unicode_code = 65
char = chr(unicode_code)
print(char)  # Output: 'A'
ord('好')
22909
chr(22909)
'好'

d. 进制转换函数

  可以使用内置函数 bin()oct()hex() 来进行转换:

  1. bin() 函数:将一个整数转换为二进制表示。
print(bin(10))  # 输出 '0b1010'
  1. oct() 函数:将一个整数转换为八进制表示。
print(oct(10))  # 输出 '0o12'
  1. hex() 函数:将一个整数转换为十六进制表示。
print(hex(10))  # 输出 '0xa'

在这里插入图片描述

  上述函数不是特定字符串对象的方法,而是可以直接用于字符串或其他兼容的数据类型。

函数与方法之比较

  在Python中,函数(function)和方法(method)都是可调用的对象,但它们之间有一些区别:

  1. 函数(Function)
    • 函数是一段可重复使用的代码块,它可以接受输入参数,并且在执行完任务后返回一个结果。
    • 函数可以独立存在,不依赖于任何对象或类。
    • 在Python中,函数可以通过def关键字定义,并可以在任何地方调用。
def greet(name):return f"Hello, {name}!"print(greet("Alice"))  # Output: Hello, Alice!
  1. 方法(Method)
    • 方法是与特定对象相关联的函数。它是在类定义中定义的函数,它可以访问对象的数据。
    • 方法需要通过对象来调用,并且在方法内部可以使用self关键字来访问对象的属性和其他方法。
    • 在Python中,方法是通过将函数绑定到类的属性来创建的,并且可以通过类的实例来调用。
class Dog:def __init__(self, name):self.name = namedef bark(self):return f"{self.name} says Woof!"my_dog = Dog("Buddy")
print(my_dog.bark())  # Output: Buddy says Woof!

在这里插入图片描述

  函数是独立的代码块,而方法是与类或对象相关联的函数。 方法依赖于类和对象的概念,而函数则是更一般的概念,不一定与特定的类或对象相关联。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513807.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS定位,React面试题总结

CSS简介 CSS是层叠样式表&#xff08;Cascading Style Sheets&#xff09;的简称。 作用&#xff1a; 用于HTML文档中元素的样式定义实现内容&#xff08;html元素&#xff09;与表现&#xff08;css样式&#xff09;的分离实现代码的可重用性和可维护性 CSS主要部分&#…

音视频开发之旅——音频基础概念、交叉编译原理和实践(LAME的交叉编译)(Android)

本文主要讲解的是音频基础概念、交叉编译原理和实践&#xff08;LAME的交叉编译&#xff09;&#xff0c;是基于Android平台&#xff0c;示例代码如下所示&#xff1a; AndroidAudioDemo 音频基础概念 在进行音频开发的之前&#xff0c;了解声学的基础还是很有必要的。 声音…

HCIA-Datacom题库(自己整理分类的)_38_IPv6多选【20道题】

1.IPV6地址包含以下哪些类型&#xff1f; 任播地址 组播地址 单播地址 广播地址 2.IPv6有以下哪几种地址&#xff1f; 任播地址 链路本地地址 组播地址 单播地址 广播地址 3.下面关于IPv6描述正确的是&#xff1f; IPv6的地址长度为128bits IPv6的地址长度为64bit…

SAP Business Intelligence(BO)-Overview

BI 启动板 BI 平台包括BI 启动板。BI 启动板是一款Web 应用程序&#xff0c;相当于外界了解公司业务信息的窗口。在BI 启动板中&#xff0c;可访问Crystal 报表、Web Intelligence 文档和其他对象&#xff0c;并按照您的需求组织这些对象。 WebI Web Intelligence的缩写。We…

42岁前TVB女星近况曝光,曾因山头靠不住被雪藏兼生意失败

自从2021年前TVB高层余咏珊倒台离巢后&#xff0c;大批「余派」被雪藏&#xff0c;随即跟着走人&#xff0c;今年42岁的「元老级是非精」梁嘉琪就是其中之一。 梁嘉琪在离巢后就重新签约有线做回老本行主持节目&#xff0c;去年3月又与森美、小仪主持商台903节目《早霸王》&…

5G智能制造热力工厂数字孪生可视化平台,推进热力行业数字化转型

5G智能制造热力工厂数字孪生可视化平台&#xff0c;推进热力行业数字化转型。在当今这个信息化、数字化的时代&#xff0c;热力生产行业也迎来了转型的关键时刻。为了提升生产效率、降低成本、提高产品质量&#xff0c;越来越多的热力生产企业开始探索数字化转型之路。而5G智能…

书籍推荐:ChatGPT,大模型的预训练、迁移和中间件编程学习。

前言 OpenAI 在 2022 年 11 月推出了人工智能聊天应用—ChatGPT。它具有广泛的应用场景&#xff0c;在多项专业和学术基准测试中表现出的智力水平&#xff0c;不仅接近甚至有时超越了人类的平均水平。这使得 ChatGPT 在推出之初就受到广大用户的欢迎&#xff0c;被科技界誉为人…

day04-Maven

一、初识 Maven Maven 是 Apache 旗下的一个开源项目&#xff0c;是一款用于管理和构建 java 项目的工具。 官网&#xff1a;https://maven.apache.org/ Maven的作用 依赖管理&#xff08;方便快捷的管理项目依赖的资源(jar包)&#xff0c;避免版本冲突问题&#xff09;统一项目…

计算机网络-物理层

物理层 基本概念传输媒体信道复用频分复用&#xff08;FDM&#xff09;时分复用&#xff08;TDM&#xff09;波分复用&#xff08;WDM&#xff09;码分复用&#xff08;CDM&#xff09; 宽带接入技术ADSL技术光纤同轴混合网(HFC网)FTTx技术 数据通信常识 上次我们已经大致学习了…

Java基础 - 8 - 算法、正则表达式

一. 算法 什么是算法&#xff1f; 解决某个实际问题的过程和方法 学习算法的技巧&#xff1f; 先搞清楚算法的流程&#xff0c;再直接去推敲如何写算法 1.1 排序算法 1.1.1 冒泡排序 每次从数组中找出最大值放在数组的后面去 public class demo {public static void main(S…

第七篇:人工智能与机器学习技术VS量测(Measurement)- 我为什么要翻译介绍美国人工智能科技巨头IAB公司 - 它是如何赋能数字化营销生态的?

IAB平台&#xff0c;使命和功能 IAB成立于1996年&#xff0c;总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司&#xff0c;互动广告局&#xff08;IAB- the Interactive Advertising Bureau&#xff09;自1996年成立以来&#xff0c;先后为700多家媒…

CSS的标准文档流,web后端开发框架

了解校招 知己知彼才能百战百胜&#xff0c;在准备校招之前&#xff0c;我们先要了解校招。 什么是校招&#xff1f; 校招&#xff0c;全称校园招聘&#xff0c;指企业招聘那些即将毕业的学生。校招主要分为三个部分&#xff1a;简历筛选&#xff0c;笔试&#xff0c;面试。 …