python根据行边界符拆分字符串并找出最长行

根据行边界符拆分字符串并找出最长行

描述
行边界符是辅助文字记录语言的符号,是书面语的有机组成部分,用来表示另起一行的性质和作用。请在 solution.py 里完善代码,实现 splitlines 函数功能:将一段文字按行边界符拆分为列表,参数 src 是一段包含 0 个或多个行边界符的字符串,在函数体中编写代码,在出现行边界符的位置拆分传入的 src 字符串, 最后返回按照行边界符拆分后的所有字符串中长度最大的字符串,如果出现多个结果,则返回第一个匹配字符串。

行边界符包含以下值:

标识符 描述:

\n	换行
\r	回车
\r\n	回车 + 换行
\v 或 \x0b	行制表符
\f 或 \x0c	换表单
\x1c	文件分隔符
\x1d	组分隔符
\x1e	记录分隔符
\x85	下一行 ( C1 控制码)
\u2028	行分隔符
\u2029	段分隔符

结果列表的元素中不包含行边界符
连续出现多个行边界符之间应该设置为空字符
\r\n 是Window系统下的标准换行符,为一个整体,算作一个行边界标识符

样例
当 src 参数为以下值的时候:

ab c\n\nde fg\rkl\r\n

输出:

de fg

解决方法:
可能你和我一样刚看到这个题就觉得题目多一些,头大,但是细心理解下也是很容易的,
1.提取数据去掉行边界符
2.返回数据结果列表
3.提取需要的最长字符串

下面我先展示代码,代码很短但是很考验基础知识:

src = 'ab c\n\nde fg\rkl\r\n'

src = src.splitlines()
#splitlines函数的描述:
#返回由原字符串中各行组成的列表,在行边界的位置拆分。 
#结果列表中不包含行边界,除非给出了 keepends 且为真值。
src_len = list(map(len, src))
#map函数的原型是map(function, iterable, …),它的返回结果是一个列表。
#这里需要注意:在python2中,返回的是map函数返回的是一个列表,但是python3中不是,map函数返回的是一个内存地址,如果想要和博主一样的输出,list(map(……))就可以了
print( src[src_len.index(max(src_len))])
#index() 函数用于从列表中找出某个值第一个匹配项的索引位置。

而更详细的解释我也是查了几篇好博客在此和大家分享:

  1. 点击这里:有关splitlines函数的解释和具体用法
  2. 点击这里:有关map函数的解释和具体用法
  3. 点击这里:有关index函数的解释和具体用法

博客到这里就结束了,谢谢各位能耐下心来一看!python中含有很多函数方法有时难免会忘记,一次一次的复习应该是最好的学习办法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值