Python 查找同时包含字母和数字的词

Python 查找同时包含字母和数字的词

Python是一种高级编程语言,具有各种工具和内置函数来分析文本数据。这个问题是一个常见的任务,使用了一些内置函数- filter()、isdigit()、isalpha()、findall()、split()和append(),使用Python来查找同时包含字母和数字的词。

让我们看看如何输入程序以获得结果:

输入

my_text = "WELCOME TO CLUB100"

输出

CLUB100

语法

以下的例子中使用以下语法-

filter()

filter() 方法在根据特定条件筛选项时应用。简单来说,它允许用户迭代提取的元素以满足条件。

isdigit()

isdigit() 是 Python 中的内置方法,如果字符是数字,则返回 true,否则返回 false。

isalpha()

这个内置函数返回真值(true),如果所有字符都是从a到z的字母。

re.findall()

findall()方法遵循名为re的模块,返回一个字符串列表。re表示正则表达式,试图匹配输入文本中的模式。

split()

split() 是Python中的一个内置方法,可以将单词列表拆分为字符串。

append()

append()函数用于将文本元素添加到列表的末尾。

使用正则表达式

该程序使用对应变量中的正则表达式符号,并使用内置函数findall()找到两个字母。

示例

在下面的示例中,通过定义名为find_alphabet_num的函数来开始程序,该函数接受文本字符串作为参数。然后,函数使用正则表达式来找到包含字母和数字的文本的模式匹配。接下来,它将使用re模块后跟的findall()方法来找到模式文本的所有出现。

import re
def find_alphabets_num(text):
    pattern = r'\b(?=\w*\d)(?=\w*[a-zA-Z])\w+\b'
    words = re.findall(pattern, text)
    return words
# create the string
my_text = "This is RX100"
# function call
result = find_alphabets_num(my_text)
print(result)

输出

['RX100']

使用列表解析和split方法

该程序使用split()方法将文本按单词分开,并使用列表解析包含各种内置函数-isdigit(), isalpha()和any()来循环迭代。

示例

在下面的例子中,函数find_alphabet_num接受一个字符串作为输入。然后,函数split将输入文本按单词分开,只包含包含字母和数字的单词。接下来,使用return函数将这些单词作为列表返回。然后创建字符串并存储在变量 my_text 中。函数调用将使用变量result来传递参数,即 my_text 。最后,我们通过变量 result 打印输出。

def find_alphabet_num(text):
    words = text.split()
    filtered_words = [word for word in words if any(c.isdigit() for c in word) and any(c.isalpha() for c in word)]
    return filtered_words
# Create the string
my_text = "Microsoft365, MS Word, MS Excel"
# function call
result = find_alphabet_num(my_text)
print(result)

输出

['Microsoft365,']

使用循环和字符串方法

该程序使用for循环通过使用递归函数、split()、any()、isalpha()和条件语句来迭代输入字符串。

示例

在以下例子中,首先定义一个名为find_words_alphabet的函数(接收输入字符串值的参数名称为text)。然后使用split()方法将单词分隔开并检查该单词是否包含输入的两个字符串。接下来,使用三个简单的步骤-创建字符串、函数调用和打印函数来获取期望的结果。

def find_words_alphabets_num(text):
    words = text.split()
    filtered_words = []
    for word in words:
        if any(c.isdigit() for c in word) and any(c.isalpha() for c in word):
            filtered_words.append(word)
    return filtered_words

# Create the string
my_text = "Microsoft365, MS Word, MS Excel"
# function call
result = find_words_alphabets_num(my_text)
print(result)

输出

['Microsoft365,']

使用Lambda函数和filter()

该程序使用filter()来移除字符串中带有数字的字符。Lambda函数通过使用for循环和内置函数[any()和isdigit()]计算字母和数字的结果。

示例

在下面的示例中,函数 find_alphabet_number 接受参数 text ,通过函数调用接收字符串的值。然后它将使用方法名 split() ,通过使用内置方法 filter()lambda 来分离包含数字和字母的所有单词,并将其存储在变量 words 中。接下来,它使用函数返回返回列表。继续创建输入字符串,将其存储在变量 my_text 中。然后使用函数调用将结果存储在变量 result 中,并使用相同的变量在print函数中获取结果。

def find_alphabet_number(text):
    words = text.split()
    filtered_words = filter(lambda word: any(c.isdigit() for c in word) and any(c.isalpha() for c in word), words)
    return list(filtered_words)

# Create the string
my_text = "My World123"
result = find_alphabet_number(my_text)
print(result)

输出

['World123']

结论

我们讨论了解决同时包含字母和数字的单词查找问题的各种方法。例如,正则表达式可以帮助设置匹配包含字母和数字的输入文本的模式,而其他内置函数也可以解决同样的问题。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程