gpt4 book ai didi

python - 如何在Python中从中间分割字符串

转载 作者:行者123 更新时间:2023-12-01 07:05:14 25 4
gpt4 key购买 nike

我正在使用 BeautifulSoup 从网站上抓取一些文本。我将抓取的内容存储在一个变量中,该变量是一个包含特殊字符、字母和数字且不带空格的字符串。

例如:!012WR55wr"!。

我想做的是分割这个字符串,以便我可以提取 55 并将其转换为整数,然后用它来计算。

我试图找到解决方案,但我只找到了两种在Python中分割字符串的方法。第一个是在字符串中的空格之间进行分割,而 my 不包含空格。第二个是在我想要拆分的字符串中插入#。因为我正在抓取文本,所以无法在包含抓取的变量中放置任何 #。

有没有办法从变量中提取数字 55 并将其类型设置为 int?

谢谢!

编辑:

谢谢大家的帮助。现在问题已解决,解决方案如下:

import re
import requests
from bs4 import BeautifulSoup

url = "url"

url_response = requests.get(url)
url_content = BeautifulSoup(url_response.content, 'html5lib')

code = url_content.find('div', 'article_details').get_text()

print(code)

在我的例子中,这将返回以下字符串:“”“!At52R18wr”! ”“”现在,为了提取我需要的数字,我使用了 @Muluk 提供的内容:

extracted_integers =  re.findall(r"\d+" , code) 
extracted_integers = [int(i) for i in extracted_integers]

这会返回列表中的两个整数:52 和 18。在本例中,我对数字 52 感兴趣,因此删除了 18。

del extracted_integers[-1]

最后我想将整数存储在一个单独的变量中,以便我可以对其进行计算。

for i in extracted_integers:
value = i
value = int(value)

print(value)

输出:52

再次感谢您的帮助!第一次使用 stackoverflow!

最佳答案

您所需要的只是 RegEX - 正则表达式。你可以在python中导入re并开始使用它的搜索和findall等功能,我可以通过一个例子向你解释这个过程。

import re

sample_str = '''!012WR55wr"!.'''

extracted_integers = re.findall(r"\d+" , sample_str) # extracting string with patterns like digits.
extracted_integers = [int(i) for i in extracted_integers] # converting string to integer
print(extracted_integers) # you can see all your integers from your string.

如果您想了解有关 regEx 的更多信息,您可以查看这个很棒的博客 - https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285

如果您要使用一些测试用例检查正则表达式,您可以使用此在线工具 - https://regex101.com/

关于python - 如何在Python中从中间分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58473302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com