我想替换控制台输出中的最后一个 x 字符。我可以使用\r
. 但是有没有办法从控制台输出中删除最后一个 x 字符?
问问题
539 次
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 回答