在字符串中搜索特定格式的可变子字符串
Searching a string for a variable substring in a certain format
假设我正在尝试查找格式为 "X.X.X" 的子字符串,其中 X 可以是字符串中的任何整数或字符。我知道在 Python 中我可以使用 string.find("whatever")
来查找字符串中的一些子字符串,但在这种情况下,我正在寻找任何符合该格式的内容。
例如:
假设我有字符串“你好,我叫约翰,我的酒店房间是 1.5.3,保罗的房间是 1.5.4"
在这种情况下,如何找到“1.5.3”和“1.5.4”?
你想搜索一个模式而不是一个已知的字符串,你可以使用 regex
和 python 包 re
并且这里的方法 findall
适合
你需要传递你的模式,这里 \w\.\w\.\w
可以,\w
是一个字母或数字,\.
是一个真实的点
import re
value = "Hello, my name is John and my Hotel room is 1.5.3, Paul's room is 1.5.4"
result = re.findall("\w\.\w\.\w", value)
print(result) # ['1.5.3', '1.5.4']
假设我正在尝试查找格式为 "X.X.X" 的子字符串,其中 X 可以是字符串中的任何整数或字符。我知道在 Python 中我可以使用 string.find("whatever")
来查找字符串中的一些子字符串,但在这种情况下,我正在寻找任何符合该格式的内容。
例如:
假设我有字符串“你好,我叫约翰,我的酒店房间是 1.5.3,保罗的房间是 1.5.4"
在这种情况下,如何找到“1.5.3”和“1.5.4”?
你想搜索一个模式而不是一个已知的字符串,你可以使用 regex
和 python 包 re
并且这里的方法 findall
适合
你需要传递你的模式,这里 \w\.\w\.\w
可以,\w
是一个字母或数字,\.
是一个真实的点
import re
value = "Hello, my name is John and my Hotel room is 1.5.3, Paul's room is 1.5.4"
result = re.findall("\w\.\w\.\w", value)
print(result) # ['1.5.3', '1.5.4']