[英]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.