如何在 Python 中就地修改字符串?
不幸的是,您不能就地修改字符串,因为字符串是不可变的。只需从您想要从中收集的几个部分创建一个新字符串即可。但是,如果您仍然需要一个能够就地修改 Unicode 数据的对象,则应使用
- io.StringIO 对象
- Array 模块
让我们看看上面讨论的内容 -
返回包含缓冲区全部内容的字符串
示例
在此示例中,我们将返回包含缓冲区全部内容的字符串。我们有一个文本流 StringIO -
import io myStr = "Hello, How are you?" print("String = ",myStr) # StringIO is a text stream using an in-memory text buffer strIO = io.StringIO(myStr) # The getvalue() returns a string containing the entire contents of the buffer print(strIO.getvalue())
输出
String = Hello, How are you? Hello, How are you?
现在,让我们更改流位置,写入新内容并显示
更改流位置并写入新字符串
示例
我们将看到另一个示例,并使用 seek() 方法更改流位置。使用 write() 方法将在相同位置写入新字符串 -
import io myStr = "Hello, How are you?" # StringIO is a text stream using an in-memory text buffer strIO = io.StringIO(myStr) # The getvalue() returns a string containing the entire contents of the buffer print("String = ",strIO.getvalue()) # Change the stream position using seek() strIO.seek(7) # Write at the same position strIO.write("How's life?") # Returning the final string print("Final String = ",strIO.getvalue())
输出
String = Hello, How are you? Final String = Hello, How's life??
创建数组并将其转换为 Unicode 字符串
示例
在此示例中,使用 array() 创建数组,然后使用 tounicode() 方法将其转换为 Unicode 字符串 -
import array # Create a String myStr = "Hello, How are you?" # Array arr = array.array('u',myStr) print(arr) # Modifying the array arr[0] = 'm' # Displaying the array print(arr) # convert an array to a unicode string using tounicode print(arr.tounicode())
输出
array('u', 'Hello, How are you?')
array('u', 'mello, How are you?')
mello, How are you?
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP