作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个函数 f 类似于
function f(str){
alert("abc"+str);
}
现在,我想以这样一种方式使用 JavaScript 特殊字符“\b”,以便我可以选择是否要显示硬编码字符串“abc”。例如,
f("\b\b"+"yz"); //should output "ayz"
我也试过了,还是不行。换句话说,我想用退格字符连接一个字符串,以便我可以从字符串中删除最后一个字符。
我们可以用 JavaScript 做到这一点吗?
编辑真正的代码太大了(它是一个巨大的 1 衬里,连接了很多很多字符串)。要在上面的示例中映射它,我们不能编辑函数 f,所以你可以从函数 f 外部做任何你想做的事情。
最佳答案
问题是因为 \b
只是 ASCII 码中的另一个字符。只有在某些字符串读取器(例如文本终端)实现时才会出现特殊行为。
您需要自己实现退格行为。
function RemoveBackspaces(str)
{
while (str.indexOf("\b") != -1)
{
str = str.replace(/.?\x08/, ""); // 0x08 is the ASCII code for \b
}
return str;
}
示例:http://jsfiddle.net/kendfrey/sELDv/
像这样使用它:
var str = RemoveBackspaces(f("\b\byz")); // returns "ayz"
关于JavaScript 用退格键连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11891653/
我是一名优秀的程序员,十分优秀!