python - 使用您选择的给定分隔符将字符和数字段与给定字符串分开
问题描述
我正在尝试编写一个函数,该函数将两个字符串作为输入并返回一个包含提取的字符和数字段的元组。喜欢:
string_to_parse = 'Copenhagen hosted Cop -09 summit at Bella Centre in 2009 , which was attended by delegates from more than 100 countries.'
separator = '_'
tuple_to_be_returned = ('CopenhagenhostedCop_summitatBellaCentrein_whichwasattendedbydelegatesfrommorethan_countries','09 _2009_100')
任何人都有任何想法,我该如何解决这个问题?任何想法都会很棒!提前致谢!
解决方案
这是一个有点恶心的意大利面条代码,但它可以工作,重构这个函数并使其更整洁将是一个很好的练习。祝你好运!!
def separate(string, separator):
words = []
nums = []
for word in string.split(" "):
if word.isnumeric():
nums.append(word)
string = string.replace(word, separator, 1)
else:
words.append(word)
return "".join(map(lambda s: s if s.isalpha() or s == separator else "", "".join(string.split(" ")))), separator.join(nums)
推荐阅读
- php - Symfony 表达式验证
- android - Android Studio:允许用户将图像添加到可绘制文件夹?
- javascript - 在 Laravel 中,如何将下拉列表的多个值添加为单个数据库单元格中的对象
- javascript - 将数组中的值设置为对象中的键减少/返回对象内的值
- javascript - 如何在js中给定数字之间随机选择一个数字?
- random - 如何创建一个随机数序列
- python - 如何从矩阵中选择行或列?
- javascript - 定义在模块中发生事件时调用的方法
- php - Magento 我的第一个自定义模块给出 404 not found
- firebase - 当我在 React Native App 中不使用“Debug JS Remotly”模式时,Firebase 身份验证失败