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

一、前言

  本文将介绍字符串常用函数,包括: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编码

Character Octal Decimal Hexadecimal Binary
3位8进制数 十进制数 2位16进制数 8位2进制数
NUL (null) 000 0 00 00000000
SOH (start of heading) 001 1 01 00000001
STX (start of text) 002 2 02 00000010
ETX (end of text) 003 3 03 00000011
EOT (end of transmission) 004 4 04 00000100
ENQ (enquiry) 005 5 05 00000101
ACK (acknowledge) 006 6 06 00000110
BEL (bell) 007 7 07 00000111
BS (backspace) 010 8 08 00001000
HT (horizontal tab) 011 9 09 00001001
LF (line feed) 012 10 0A 00001010
VT (vertical tab) 013 11 0B 00001011
FF (form feed) 014 12 0C 00001100
CR (carriage return) 015 13 0D 00001101
SO (shift out) 016 14 0E 00001110
SI (shift in) 017 15 0F 00001111
DLE (data link escape) 020 16 10 00010000
DC1 (device control 1) 021 17 11 00010001
DC2 (device control 2) 022 18 12 00010010
DC3 (device control 3) 023 19 13 00010011
DC4 (device control 4) 024 20 14 00010100
NAK (negative acknowledge) 025 21 15 00010101
SYN (synchronous idle) 026 22 16 00010110
ETB (end of transmission block) 027 23 17 00010111
CAN (cancel) 030 24 18 00011000
EM (end of medium) 031 25 19 00011001
SUB (substitute) 032 26 1A 00011010
ESC (escape) 033 27 1B 00011011
FS (file separator) 034 28 1C 00011100
GS (group separator) 035 29 1D 00011101
RS (record separator) 036 30 1E 00011110
US (unit separator) 037 31 1F 00011111
SPACE 040 32 20 00100000
! 041 33 21 00100001
" 042 34 22 00100010
# 043 35 23 00100011
$ 044 36 24 00100100
% 045 37 25 00100101
& 046 38 26 00100110
047 39 27 00100111
( 050 40 28 00101000
) 051 41 29 00101001
* 052 42 2A 00101010
+ 053 43 2B 00101011
, 054 44 2C 00101100
- 055 45 2D 00101101
. 056 46 2E 00101110
/ 057 47 2F 00101111
0 060 48 30 00110000
1 061 49 31 00110001
2 062 50 32 00110010
3 063 51 33 00110011
4 064 52 34 00110100
5 065 53 35 00110101
6 066 54 36 00110110
7 067 55 37 00110111
8 070 56 38 00111000
9 071 57 39 00111001
: 072 58 3A 00111010
; 073 59 3B 00111011
< 074 60 3C 00111100
= 075 61 3D 00111101
> 076 62 3E 00111110
? 077 63 3F 00111111
@ 100 64 40 01000000
A 101 65 41 01000001
B 102 66 42 01000010
C 103 67 43 01000011
D 104 68 44 01000100
E 105 69 45 01000101
F 106 70 46 01000110
G 107 71 47 01000111
H 110 72 48 01001000
I 111 73 49 01001001
J 112 74 4A 01001010
K 113 75 4B 01001011
L 114 76 4C 01001100
M 115 77 4D 01001101
N 116 78 4E 01001110
O 117 79 4F 01001111
P 120 80 50 01010000
Q 121 81 51 01010001
R 122 82 52 01010010
S 123 83 53 01010011
T 124 84 54 01010100
U 125 85 55 01010101
V 126 86 56 01010110
W 127 87 57 01010111
X 130 88 58 01011000
Y 131 89 59 01011001
Z 132 90 5A 01011010
[ 133 91 5B 01011011
\ 134 92 5C 01011100
] 135 93 5D 01011101
^ 136 94 5E 01011110
_ 137 95 5F 01011111
` 140 96 60 01100000
a 141 97 61 01100001
b 142 98 62 01100010
c 143 99 63 01100011
d 144 100 64 01100100
e 145 101 65 01100101
f 146 102 66 01100110
g 147 103 67 01100111
h 150 104 68 01101000
i 151 105 69 01101001
j 152 106 6A 01101010
k 153 107 6B 01101011
l 154 108 6C 01101100
m 155 109 6D 01101101
n 156 110 6E 01101110
o 157 111 6F 01101111
p 160 112 70 01110000
q 161 113 71 01110001
r 162 114 72 01110010
s 163 115 73 01110011
t 164 116 74 01110100
u 165 117 75 01110101
v 166 118 76 01110110
w 167 119 77 01110111
x 170 120 78 01111000
y 171 121 79 01111001
z 172 122 7A 01111010
{ 173 123 7B 01111011
| 174 124 7C 01111100
} 175 125 7D 01111101
~ 176 126 7E 01111110
DEL (delete) 177 127 7F 01111111

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: 65

unicode_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 = name
    
    def bark(self):
        return f"{
      
      self.name} says Woof!"

my_dog = Dog("Buddy")
print(my_dog.bark())  # Output: Buddy says Woof!

在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/m0_63834988/article/details/136393084