是否有python函数在部分已知的字符串中查找未知值?

是否有python函数在部分已知的字符串中查找未知值?,python,text-formatting,Python,Text Formatting,比如说,我们有一个类似亚马逊畅销书排行榜的字符串,如下所示: Nr. 490 in Category1 (link to the category) Nr. 2 in Category2 Nr. 1 in Category3 Nr. 1 in Category4 我尝试使用split and replace函数对其进行格式化,但是否有更简单的方法过滤掉490、2、1、1以及它们各自的类别,这意味着输出将是如下数组: [490, Category1] [2, Category2] [1, Cat

比如说,我们有一个类似亚马逊畅销书排行榜的字符串,如下所示:

Nr. 490 in Category1 (link to the category)
Nr. 2 in Category2
Nr. 1 in Category3
Nr. 1 in Category4
我尝试使用split and replace函数对其进行格式化,但是否有更简单的方法过滤掉490、2、1、1以及它们各自的类别,这意味着输出将是如下数组:

[490, Category1]
[2, Category2]
[1, Category3]
[1, Category4]

假设您有一个字符串,您可以使用以下
regex

import re

l = '''Nr. 490 in Category1 (link to the category)
Nr. 2 in Category2
Nr. 1 in Category3
Nr. 1 in Category4'''

[re.findall(r'(?:Nr. |in )(\w+)', i) for i in l.split('\n')] 

[['490', 'Category1'],
 ['2', 'Category2'],
 ['1', 'Category3'],
 ['1', 'Category4']]