这是受星期一迷你高尔夫#6:Meeesesessess upp teeexexextext启发的
背景
ETHproductions很难在他通常的网页上输入文本。每当他使用数字或字母时,文本都会被注释掉。您的任务是帮助他键入内容,从而实现正常的行为。
转变
转换影响[0-9A-Za-z]
由任何非字母数字字符分隔的字母数字()字符的运行。在下面的示例中,第一行将转换为第二行(其他行显示了转换的细分)
An12num:
Annn1n12n12nn12nn12nun12nun12numn12num
A
nn
n1
n12
n12nn12n
n12nun12nu
n12numn12num
特别是,运行中第一个字符之后的任何字母数字字符都将转换为到目前为止的整个运行,除了第一个字符。此外,如果字符是字母(而不是数字),则该字符将变成两次运行。
值得庆幸的是,退格键将删除最后一个字符,并重置运行的开始。
任务
这次您的任务是不执行转换。相反,给定输入字符串,您必须返回编码后的文本,如果转换后将导致输入。输出必须尽可能短,\<char>
以单个字符计。
文本编码如下:
\ -> \\
backspace character -> \b
linefeed -> \n
您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。
测试用例
每个测试用例都是两行,第一行是输入,第二行是输出。
Heeeeeelp me. It shouldn't be messed up.
Hee \blp\b me\b. It\b sh\bou\bld\bn't be\b me\bss\bed\b up\b.
alert("Hello, world!");
al\ber\bt("He\bll\bo, wo\brl\bd!");
1223234234523456
123456
6
它的定义很明确,但是为什么没有答案呢?
—
2015年
我莫名其妙地错过了这个。很好的分拆!也许以后我会尝试写一个答案。
—
ETHproductions 2015年
这让我想起了我的一个朋友通过UDP发送文本的时间
—
TRGWII
我认为您的最终测试用例需要修复。您
—
Leif Willerts 2015年
1
在运行中(每次)都包含第一个字符。
老实说,我不明白我该怎么办...对不起。您可以添加一些输入和输出,并在解释中添加一些示例吗?抱歉。
—
Yassin Hajaj 2015年