繁体   English   中英

Javascript / jQuery从字符串中删除所有字符,但特定字符之间的出现除外

[英]Javascript/jQuery remove all characters from string except occurrences between specific characters

使用efvss 3452 XT-123454 ghhs444d efvss XT-6336 ghhsd efq435vss XT-554 ghhsd efvss XT-23427 ghhs55d efvss XT-24作为一个例子的字符串我想删除除含有部分中的所有字符XT-number (例如, XT-123454 )。

我有此代码(它不返回我在寻找什么):

$(document).ready(function(){
    string = "efvss 3452 XT-123454 ghhs444d efvss XT-6336 ghhsd efq435vss XT-554 ghhsd efvss XT-23427 ghhs55d efvss XT-24";
    string = string.match(/(XT-)(.*)(\s)/g);
    document.write(string);
});

所需的输出应为XT-123454, XT-554, XT-23427, XT-24

您可以使用正则表达式来匹配字符串的所有XT-##部分。

var str = 'efvss XT-123454 ghhsd efvss XT-6336 ghhsd efvss XT-554 ghhsd efvss XT-23427 ghhsd efvss XT-24';
var regex = /\bXT-\d+\b/g;
var matches = str.match(regex);
< ["XT-123454", "XT-6336", "XT-554", "XT-23427", "XT-24"]

要仅使用所需部分重新创建字符串,请使用.join()

var finalString = matches.join(' ');
< "XT-123454 XT-6336 XT-554 XT-23427 XT-24"
$(document).ready(function(){
    string = "efvss XT-123454 ghhsd efvss XT-6336 ghhsd efvss XT-554 ghhsd efvss XT-23427 ghhsd efvss XT-24";
    string = string.match(/(XT-)[0-9]{0,11}/g);
    document.write(string);
});

您可以将上面的代码用于所需的输出https://jsfiddle.net/ygpzq4hj/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM