我想知道有没有办法string
在JQuery中拆分 a并以不同的顺序显示它?例如:aaa bbb, ccc应该是bbb aaa ccc(没有逗号!)
<div class="string">aaa bbb, ccc</div>
欢迎任何想法
我想知道有没有办法string
在JQuery中拆分 a并以不同的顺序显示它?例如:aaa bbb, ccc应该是bbb aaa ccc(没有逗号!)
<div class="string">aaa bbb, ccc</div>
欢迎任何想法
是的,您可以拆分这些。看起来你需要空格和逗号作为分隔符,所以:
var str = "one two, three";
var parts = str.split(/[ ,]+/);
这给了你一个数组 ( "one", "two", "three"
)。然后,您可以根据需要重新组织元素。在这种情况下,看起来您正在交换前两个。当您拥有所需的阵列时,您可以将其与以下内容重新组合join
:
//...update `parts`, then:
str = parts.join(" ");
或者,如果您总是只交换前两个,并且总是有三个,您可以使用replace
正则表达式:
var str = "one two, three";
str = str.replace(/^([^ ,]+)[ ,]+([^ ,]+)[ ,]+([^ ,]+)(.*)/, "$2 $1 $3$4");
([^ ,]+)
意思是“捕获一系列字符,至少一个字符长,不包含空格或,
”。[ ,]+
表示“匹配一系列空格和/或逗号。在替换字符串中,$1
指第一个捕获组,$2 指第二个捕获组,等等。
这具体取决于您想要实现的目标,并且有几种方法,但这是一种方法:
var text = $('.string').html().replace(',','').split(' ');
$('.string').text(text[1] + ' ' + text[0] + ' ' + text[2]);
在这里看到它:http: //jsfiddle.net/Trufa/7DG8G/
split() 方法用于将字符串拆分为子字符串数组,并返回新数组,然后根据您的意愿加入。
str.split("[,\\s]+");