如何在Python中就地修改字符串?

WBOY
WBOY 转载
2023-08-20 18:53:16 820浏览

如何在Python中就地修改字符串?

很不幸,您无法原地修改字符串,因为字符串是不可变的。只需从您想要收集的几个部分创建一个新的字符串。但是,如果您仍然需要一个能够原地修改Unicode数据的对象,您应该使用

  • io.StringIO对象
  • 数组模块

Let’s see what we discussed above −

返回一个包含缓冲区全部内容的字符串

Example

的中文翻译为:

示例

In this example, we will return a string with the entire contents of the buffer. We have a text stream 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())

Output

String = Hello, How are you?
Hello, How are you?

现在,让我们改变流的位置,写入新内容并显示

Change the stream position and write new String

Example

的中文翻译为:

示例

We will see another example and change the stream position using the seek() method. A new string will be written at the same position using the write() method −

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())

Output

String = Hello, How are you?
Final String = Hello, How's life??

Create an array and convert it to Unicode string

Example

的中文翻译为:

示例

在这个例子中,使用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())

Output

array('u', 'Hello, How are you?')
array('u', 'mello, How are you?')
mello, How are you?

以上就是如何在Python中就地修改字符串?的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除