繁体   English   中英

使用正则表达式分割字符串

[英]Splitting up a string using regex

我正在编写一个程序来解析摩尔斯电码。 输入为字符串格式。 这是一个例子:

Input = '/.- .-.. .---- ..-. -.- - ..--- -.-. .... .....'

Desired Output = ['/', '.-', '.-..', '.----', '..-.', '-.-', '-', '..---', '-.-.', '....', '.....']

/表示文本中的空格。 我想将正斜杠分割成自己的元素,而不是摆脱它。 但是我确实想摆脱空间。 re.split(' |/')这样的表达式可以消除正斜杠。 我应该怎么做呢? 提前致谢。

使用itertools.groupby和区分'/'' '和rest的自定义键函数的非语言方法:

from itertools import groupby

s = '/.- .-.. .---- ..-. -.- - ..--- -.-. .... .....'
key = lambda c: c if c in ' /' else 'x'
[''.join(g) for k, g in groupby(s, key=key) if k != ' ']
# ['/', '.-', '.-..', '.----', '..-.', '-.-', '-', '..---', '-.-.', '....', '.....']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM