当前位置:   article > 正文

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

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

一、前言

  转义字符在处理输入输出、正则表达式、字符串拼接等场景下经常被用到,本文将介绍python中的字符转义符。

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

1.字符串构造

2. 字符串截取

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

3. 字符串格式化输出

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

4. 字符转义符

  字符转义符是在编程语言中使用的特殊符号,用于表示一些特殊的字符或者具有特殊含义的字符,在很多编程语言中,特定的字符前面加上反斜杠 \ 就构成了一个转义字符。

a. 常用字符转义符

  在Python中,常用的字符转义符包括:

转义字符描述
\(行尾)续行符
\n换行符
\t横向制表符
\v纵向制表符
\"双引号
\’单引号
\\一个反斜杠符号\
\r回车符
\b退格符
\f换页符
续行符
print("这是一行\
字符串")
  • 1
  • 2
  • 输出:这是一行字符串
换行符
print("第一行\n第二行") 
  • 1
  • 输出:
第一行
第二行
  • 1
  • 2
制表符
print("第一列\t第二列")  
  • 1
  • 输出:
第一列    第二列
  • 1
双引号
print("He said, \"Python is amazing!\"") 
  • 1
  • 输出:He said, “Python is amazing!”

等效于:

print('He said, "Python is amazing!\"') 
  • 1
单引号
print('She said, \'I love Python!\'')
  • 1
  • 输出:She said, ‘I love Python!’

等效于:

print("She said, 'I love Python!'")
  • 1

在这里插入图片描述

反斜杠符号
print("This is a backslash: \\")
  • 1
  • 输出:This is a backslash: \
回车符
print("Hello\rWorld")
  • 1
  • 输出:World
退格符
print("Hello\bWorld")  
  • 1
  • 输出:HellWorld

b. ASCII编码

CharacterOctalDecimalHexadecimal
3位8进制数十进制数2位16进制数
NUL (null)000000
SOH (start of heading)001101
STX (start of text)002202
ETX (end of text)003303
EOT (end of transmission)004404
ENQ (enquiry)005505
ACK (acknowledge)006606
BEL (bell)007707
BS (backspace)010808
HT (horizontal tab)011909
LF (line feed)012100A
VT (vertical tab)013110B
FF (form feed)014120C
CR (carriage return)015130D
SO (shift out)016140E
SI (shift in)017150F
DLE (data link escape)0201610
DC1 (device control 1)0211711
DC2 (device control 2)0221812
DC3 (device control 3)0231913
DC4 (device control 4)0242014
NAK (negative acknowledge)0252115
SYN (synchronous idle)0262216
ETB (end of transmission block)0272317
CAN (cancel)0302418
EM (end of medium)0312519
SUB (substitute)032261A
ESC (escape)033271B
FS (file separator)034281C
GS (group separator)035291D
RS (record separator)036301E
US (unit separator)037311F
SPACE0403220
!0413321
"0423422
#0433523
$0443624
%0453725
&0463826
0473927
(0504028
)0514129
*052422A
+053432B
,054442C
-055452D
.056462E
/057472F
00604830
10614931
20625032
30635133
40645234
50655335
60665436
70675537
80705638
90715739
:072583A
;073593B
<074603C
=075613D
>076623E
?077633F
@1006440
A1016541
B1026642
C1036743
D1046844
E1056945
F1067046
G1077147
H1107248
I1117349
J112744A
K113754B
L114764C
M115774D
N116784E
O117794F
P1208050
Q1218151
R1228252
S1238353
T1248454
U1258555
V1268656
W1278757
X1308858
Y1318959
Z132905A
[133915B
\134925C
]135935D
^136945E
_137955F
`1409660
a1419761
b1429862
c1439963
d14410064
e14510165
f14610266
g14710367
h15010468
i15110569
j1521066A
k1531076B
l1541086C
m1551096D
n1561106E
o1571116F
p16011270
q16111371
r16211472
s16311573
t16411674
u16511775
v16611876
w16711977
x17012078
y17112179
z1721227A
{1731237B
|1741247C
}1751257D
~1761267E
DEL (delete)1771277F
转义字符
转义字符描述
\ooo3位8进制数ooo对应的字符
\xhh2位16进制数hh对应的字符
  1. 使用 \ooo 表示3位8进制数对应的字符:
print('\101')  # 输出字符 'A'
  • 1

\101 表示八进制数 101,对应的字符是 ‘A’。

  1. 使用 \xhh 表示2位16进制数对应的字符:
print('\x41')  # 输出字符 'A'
  • 1

\x41 表示十六进制数 41,对应的字符是 ‘A’。

进制转换
2 进制
  • 使用"0b"前缀来表示二进制数。
print(0b1010)
  • 1
8 进制
  • 使用"0o"前缀来表示八进制数。
print(0o12) 
  • 1
10 进制
  • 显然直接表示的就是十进制数
print(10)
  • 1
16 进制
  • 使用"0x"前缀来表示十六进制数。
print(0x0A) 
  • 1
  • 上述均输出:10
进制转换函数

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

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

在这里插入图片描述

c. Unicode字符

  Unicode是一种字符编码方案,用于表示世界上几乎所有语言的字符,包括字母、数字、标点符号、符号、表情符号、特殊符号和控制字符等。它为每个字符分配了一个唯一的数字,称为码点(code point),用于在计算机系统中进行字符的表达。Unicode编码目前已经超过了1.1万个字符,涵盖了世界上大多数语言文字的所有字符。
  Unicode的编码空间可以分为多个平面(plane),每个平面包含65536个码位(code point)。最早的Unicode版本(Unicode 1.0)只定义了第一个平面,称为基本多文种平面(Basic Multilingual Plane,BMP),涵盖了绝大多数常用字符。除了BMP平面外,Unicode还定义了辅助平面(Supplementary Planes)。辅助平面包含了一些特殊字符,如特殊符号、古代文字、表情符号等。目前已经定义了17个辅助平面,但并不是所有的辅助平面都是完全填满的。
  Unicode字符可以通过不同的编码方案进行表示,其中最常见的是UTF-8、UTF-16和UTF-32。这些编码方案使用不同的字节顺序和编码方式将码点翻译成计算机可以理解的二进制形式。

转义字符描述
\uhhhh4位16进制数hhhh表示的Unicode字符
\Uhhhhhhhh8位16进制数hhhhhhhh表示的Unicode字符
print("\u4F60\u597D")  
  • 1
  • 输出:你好
\uhhhh示例
# 版权符号
print('\u00A9')  # 输出:©

# 注册商标符号
print('\u00AE')  # 输出:®

# 音符
print('\u266B')  # 输出:♪

# 电话符号
print('\u260E')  # 输出:☎

# 和平符号
print('\u262E')  # 输出:☮

# 国际象棋符号
print('\u2656')  # 输出:♖

# 十字架符号
print('\u271D')  # 输出:✝

# 太阳符号
print('\u2600')  # 输出:☀

# 雪花符号
print('\u2744')  # 输出:❄

# 蛇座符号
print('\u265B')  # 输出:♛

# 闹钟符号
print('\u23F0')  # 输出:⏰
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
\Uhhhhhhhh示例
# 麻将符号
print('\U0001F004')  # 输出:
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/365809
推荐阅读
相关标签