给定仅包含字母数字ASCII字符并以字母开头的输入字符串,请将每个字母运行与后面的数字运行交换。
一个运行是连续的字母或数字序列。注意,在输入字符串以字母结尾的情况下,该行程保持不变。
演练示例
例如,给定输入字符串uV5Pt3I0
:
- 字母和数字分开运行:
uV 5 Pt 3 I 0
- 确定运行对:
(uV 5) (Pt 3) (I 0)
- 交换运行对:
(5 uV) (3 Pt) (0 I)
- 串联:
5uV3Pt0I
例子
uV5Pt3I0 -> 5uV3Pt0I
J0i0m8 -> 0J0i8m
abc256 -> 256abc
Hennebont56Fr -> 56HennebontFr
Em5sA55Ve777Rien -> 5Em55sA777VeRien
nOoP -> nOoP
这是代码高尔夫球,因此最短的答案以字节为单位。鼓励解释。
(a,(b,y))<-span(<':')<$>span(>'9')s
。