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

2024-07-30 12:34:33 浏览数 (2)

一、前言

  本文将介绍字符串常用函数,包括: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()
代码语言:javascript复制
s = "Hello World"
length = len(s)
print(length) 
  • 输出: 11
b. max() 和 min()

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

代码语言:javascript复制
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’,那么汉字?

代码语言:javascript复制
max('我','a','A','1') 
代码语言:javascript复制
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 码点对应的字符
代码语言:javascript复制
char = 'A'
unicode_code = ord(char)
print(unicode_code)  # Output: 65

unicode_code = 65
char = chr(unicode_code)
print(char)  # Output: 'A'
代码语言:javascript复制
ord('好')
代码语言:javascript复制
22909
代码语言:javascript复制
chr(22909)
代码语言:javascript复制
'好'
d. 进制转换函数

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

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

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

函数与方法之比较

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

  1. 函数(Function)
    • 函数是一段可重复使用的代码块,它可以接受输入参数,并且在执行完任务后返回一个结果。
    • 函数可以独立存在,不依赖于任何对象或类。
    • 在Python中,函数可以通过def关键字定义,并可以在任何地方调用。
代码语言:javascript复制
def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))  # Output: Hello, Alice!
  1. 方法(Method)
    • 方法是与特定对象相关联的函数。它是在类定义中定义的函数,它可以访问对象的数据。
    • 方法需要通过对象来调用,并且在方法内部可以使用self关键字来访问对象的属性和其他方法。
    • 在Python中,方法是通过将函数绑定到类的属性来创建的,并且可以通过类的实例来调用。
代码语言:javascript复制
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!

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

0 人点赞