📌  相关文章
📜  Python – 从字符串中提取范围字符

📅  最后修改于: 2022-05-13 01:54:22.835000             🧑  作者: Mango

Python – 从字符串中提取范围字符

给定一个字符,只提取位于给定字母之间的字符。

方法#1:使用列表推导

在此,我们使用比较操作检查范围内的字符,列表理解执行迭代和创建新列表的任务。然后可以使用 join() 重新转换为字符串。

Python3
# Python3 code to demonstrate working of
# Extract range  characters from String
# Using list comprehension
 
# initializing string
test_str = 'geekforgeeks is best'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing range letters
strt, end = "f", "s"
 
# join() to get result in string
res = ''.join([chr for chr in test_str if chr >= strt and chr <= end])
 
# printing result
print("Extracted String : " + str(res))


Python3
# Python3 code to demonstrate working of
# Extract range  characters from String
# Using filter() + lambda + join()
 
# initializing string
test_str = 'geekforgeeks is best'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing range letters
strt, end = "f", "s"
 
# join() to get result in string
res = ''.join(list(filter(lambda chr : chr >= strt and chr <= end, test_str)))
 
# printing result
print("Extracted String : " + str(res))


输出
The original string is : geekforgeeks is best
Extracted String : gkforgksiss

方法 #2:使用 filter() + lambda + join()

解决这个问题的另一种方法是,我们使用 lambda 执行比较任务,filter() 使用 lambda函数来获取所需的字符。

Python3

# Python3 code to demonstrate working of
# Extract range  characters from String
# Using filter() + lambda + join()
 
# initializing string
test_str = 'geekforgeeks is best'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing range letters
strt, end = "f", "s"
 
# join() to get result in string
res = ''.join(list(filter(lambda chr : chr >= strt and chr <= end, test_str)))
 
# printing result
print("Extracted String : " + str(res))
输出
The original string is : geekforgeeks is best
Extracted String : gkforgksiss