Python – 从字符串中提取范围字符
给定一个字符,只提取位于给定字母之间的字符。
Input : test_str = ‘geekforgeeks is best’, strt, end = “g”, “s”
Output : gkorgksiss
Explanation : All characters after g and before s are retained.
Input : test_str = ‘geekforgeeks is best’, strt, end = “g”, “r”
Output : gkorgki
Explanation : All characters after g and before r are retained.
方法#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