javascript - 从javascript字符串中删除空字符串字符

标签 javascript regex string

我正在使用正则表达式从从 telnet 客户端 (node.js) 输入的字符串中删除按键 但是我的正则表达式 input.replace(/\[(B|C|D|A)/gm,""); 似乎有一些奇怪的效果

enter image description here

string 作为我的输入是那个快照。

如何删除正则表达式放在开头的那些空字符串,或者是否有更好的方法来编写表达式以便不创建它们?

这是输入字符串 http://s21.postimg.org/91e01id13/input.png 作为一个字符串

"[D[A[C[D[B[D[A[B[C[Dhhh
"

按两次左箭头键并输入 hello 看起来像这样 "%1B%5BD%1B%5BDhello%0D%0A"encodeURIComponent(string );

最佳答案

使用 JavaScript 的 String.trim() 方法,删除开头和结尾的空格。

string.trim();


将 JavaScript 的 String.replace() 方法与 Regex 结合使用,如下所示:

string.replace(/\s/g,"");


而且,作为最后的替代方案,您可以去掉这 3 个空格。 (虽然这听起来不是一个好的选择,但如果开头的空值不同的话)

string.substring(0,2);


最后,如果你真的觉得很疯狂,你可以尝试所有 3 个。

string.substring(0,2).replace(/\S\s/g,"").trim();

重现字符串后(换行):

"[D[A[C[D[B[D[A[B[C[Dhhh\u000A"

我在字符串上试过你的正则表达式:

"[D[A[C[D[B[D[A[B[C[Dhhh\u000A".replace(/\[(B|C|D|A)/gm,"");

它按预期返回 "hhh"(带换行)...

当我们把它扔进一个对象时:

Object("[D[A[C[D[B[D[A[B[C[Dhhh\u000A".replace(/\[(B|C|D|A)/gm,""));

我得到了这个返回(在 Chrome 的开发控制台 Firefox 的控制台):

String {0: "h", 1: "h", 2: "h", 3: "↵", length: 4, [[PrimitiveValue]]: "hhh↵"} 


所以,我对这个问题是如何产生的还是有点困惑?我只能说尝试上述解决方案。

关于javascript - 从javascript字符串中删除空字符串字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27200212/

相关文章:

javascript - 更改网页内容上的默认选定文本颜色

python - 将多个负正则表达式应用于Python中的表达式

html - SEO mod_rewrite 内部 uri 目录问题

Python 正则表达式 - 更快的搜索

c - 使用 strtok 时的意外行为

支持脚本支持/应用程序自动化的 JavaScript 引擎

javascript - 当跨度更改行时,背景颜色样式不起作用

java - 使用 Java 访问 JavaScript 对象属性

java - XOR 交换在所有情况下都等同于传统交换吗?

java - 批处理字符串包含操作优化?