2

我想知道有没有办法stringJQuery中拆分 a并以不同的顺序显示它?例如:aaa bbb, ccc应该是bbb aaa ccc(没有逗号!)

<div class="string">aaa bbb, ccc</div>

欢迎任何想法

4

3 回答 3

2

是的,您可以拆分这些。看起来你需要空格和逗号作为分隔符,所以:

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 指第二个捕获组,等等。

于 2013-07-31T09:46:03.290 回答
1

这具体取决于您想要实现的目标,并且有几种方法,但这是一种方法:

var text = $('.string').html().replace(',','').split(' ');

$('.string').text(text[1] + ' ' + text[0] + ' ' + text[2]);

在这里看到它:http: //jsfiddle.net/Trufa/7DG8G/

于 2013-07-31T09:48:49.127 回答
0

split() 方法用于将字符串拆分为子字符串数组,并返回新数组,然后根据您的意愿加入。

 str.split("[,\\s]+");
于 2013-07-31T09:44:40.807 回答