如何从JS字符串中删除↵字符

7

我有一个字符串,例如

↵my name is Pankaj↵

我想从字符串中删除字符。
"↵select * from eici limit 10".replace("↵", "") 

运行良好。但是我想知道是否有其他方法来删除这些不必要的字符。


还有一点需要注意,像sublime-text或notepad++这样的代码编辑器中是没有“↵”字符的。 - ipankaj
1
去除这些不必要字符的方法。您是否希望删除像这样的一组字符。如果只是,我会选择使用replace函数。 - nu11p01n73R
5个回答

9

运行良好。

如果它能正常工作,那么为什么要麻烦呢?你的解决方案完全可接受。

但我想知道是否有其他方法可以删除这些不必要的字符。

你也可以使用

"↵select * from eici limit 10".split("↵").join("") 

7
在从HTML元素中提取内容时,使用**String.replace(/[\n\r]/g, '')**可以解决这个问题。 - ipankaj
上面的评论中的正则表达式对我有效,其他解决方案都没有用。 - Frozen Crayon
@ArjunU。这意味着您的字符串中实际存在换行符,而不是像OP一样的字符。 - Bergi
"String.replace(/[\n\r]/g, '')" 解决了我的问题。 - Vikram Shetty
@ipankaj,您能否将您的评论转化为答案?其他答案似乎都不适合在JS中处理此问题。 - Alex White

9

不需要使用实际的字符,可以使用代码点。

不需要使用"↵",可以使用"\u21b5"

要查找代码,请使用'<character>'.charCodeAt(0).toString(16),然后像这样使用\u<number>

现在,您可以像这样使用它:

string.split("\u21b5").join(''); //split+join

string.replace(/\u21b5/g,'');  //RegExp with unicode point

2
这是一个安全的选项,而不是直接使用↵,它将被转换为不受支持的字符,可能不适用于所有环境。 - Ashvin777

2

您也可以尝试使用正则表达式

"↵select * from eici limit 10".replace(/↵/g, "")

1

使用类似以下的内容

s.replace(/[^a-zA-Z0-9_ ]/g, "")

你可以只保留字母(a-zA-Z)、数字(0-9)、下划线和空格。
某些字符需要在前面加上反斜杠进行指定(例如], -, /和反斜杠本身)。
然而,当您开始面向国际受众部署时,您将遇到问题,因为“奇怪的字符”确实是常态。

这个答案太笼统了。OP只是在问如何“替换”或删除特定字符,而不是如何在字符串上使用正则表达式。正如您所澄清的那样,这可能会导致国际化问题。 - Sergio A.

-1

我曾经遇到过同样的问题,但是使用了trim()函数来清除所有额外的空格和↵字符。

str.trim();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接