【发布时间】:2011-07-29 23:04:27
【问题描述】:
我有一个位置 - Pearl River, NY (10965),我想显示为 Pearl River, NY(所以它必须删除 (10965) - 包括 ( 之前的空格 - 我不想大肆宣传并在服务器端做任何事情。jQuery 可以正常工作。我知道这可能很简单,我只是不太使用 JS。
谢谢!
【问题讨论】:
标签: javascript jquery
我有一个位置 - Pearl River, NY (10965),我想显示为 Pearl River, NY(所以它必须删除 (10965) - 包括 ( 之前的空格 - 我不想大肆宣传并在服务器端做任何事情。jQuery 可以正常工作。我知道这可能很简单,我只是不太使用 JS。
谢谢!
【问题讨论】:
标签: javascript jquery
location_string = location_string.replace(/ \([^)]*\)/, '');
顺便说一句,请不要再认为任何事情都需要 jQuery,尤其是像这样的字符串操作任务。确实不是,而且 jQuery 被夸大了。
【讨论】:
+ 会留在空括号() 中。不过,这很可能是可以接受的。
'Pearl River, NY (10965)'.replace(/ \([^)]+\)/, '');
'Pearl River, NY ()'.replace(/ \([^)]+\)/, ''); === "Pearl River, NY ()" 而不是'Pearl River, NY ()'.replace(/ \([^)]+\)/, ''); === "Pearl River, NY"
我不确定您是如何获得“Peal River NY...”(变量?innerHTML?),但您需要使用正则表达式来匹配(numbers),并使用replace 方法来匹配将匹配替换为空""。
"Peal River, NY (10965)".replace(/ \([0-9]+\)/, "");
这不使用jQuery!
参见String.replace 方法。
正如@James 在 cmets 中所提到的,这个 sn-p 将把 "Peal River, NY ()" 保留为 "Peal River, NY ()",而不是删除括号。如果这是您需要考虑的情况,请将+ 更改为*:
"Peal River, NY (10965)".replace(/ \([0-9]*\)/, "");
【讨论】:
+ 会留在空括号() 中。不过,这很可能是可以接受的。
使用正则表达式:
var s = "Pearl River, NY (10965)";
alert(s.replace(/ \([\d]*\)/,''));
当然,在这里我假设您只想替换括号中的数字。对于字母和下划线,使用\w 代替\d
您可能还希望要求该项目出现在最后。在这种情况下,以下内容就足够了:
alert(s.replace(/ \([\d]*\)$/,''));
你会注意到以上都没有引用 jQuery。这是可以通过纯 JavaScript 实现的。
【讨论】: