0

我想替换控制台输出中的最后一个 x 字符。我可以使用\r. 但是有没有办法从控制台输出中删除最后一个 x 字符?

4

2 回答 2

2

PHP中:

要打印退格字符,请使用0x08. 但是,有一个问题。如果您在后面加上换行符"\n"(通常会这样),则光标将移回 EOL,并且字符再次暴露。好消息是,如果您0x08使用相同数量的空格,它可以正常工作。例如,要删除最后两个字符:

<?php
    print "Hello";
    printf("%c%c",0x08,0x08);
    print "  \n";
?>

哪个打印Hel。请注意使用printf()with%c将整数 (0x08) 用作字符。

对于删除 x 个字符的通用方法:

<?php
    $x = 4;
    $str = "Those who are about to die salute you";
    $hacky = str_repeat(chr(0x08),$x).str_repeat(" ",$x);
    print "$str$hacky\n";
?>

打印Those who are about to die salute。注意chr(0x08)这里的使用,它返回字符集中位置 8 的字符。

于 2013-03-07T16:07:43.460 回答
0

你可以使用cut命令。

于 2013-03-07T15:54:47.663 回答