如何用angularJS分割一个string

我想知道我是否可以简单地在angularJS中分割一个string。 我有我的

$scope.test = "test1,test2"; 

在我的控制者和我的观点中,我想要做这样的事情

 {{test[0] | split(',')}} {{test[1] | split(',')}} 

我已经看到很多关于input和ng-change在控制器中调用一个函数来分割string或ng-list,但在我的情况下没有任何作用。

thx所有。

您可能希望将该function包装到filter中,这样您就不必将mySplit函数放入所有控制器中。 例如

 angular.module('myModule', []) .filter('split', function() { return function(input, splitChar, splitIndex) { // do some bounds checking here to ensure it has that index return input.split(splitChar)[splitIndex]; } }); 

从这里,你可以使用一个filter,像你最初的意图

 {{test | split:',':0}} {{test | split:',':0}} 

更多信息在http://docs.angularjs.org/guide/filter (感谢罗斯)

Plunkr @ http://plnkr.co/edit/NA4UeL

Thx家伙,我终于find了解决scheme,一个非常基本的..在我的控制器,我有

 $scope.mySplit = function(string, nb) { var array = string.split(','); return array[nb]; } 

在我看来

 {{mySplit(string,0)}} 

你可以尝试这样的事情:

 $scope.test = "test1,test2"; {{test.split(',')[0]}} 

现在当你尝试{{test.split(',')[0]}}你会得到“ test1

当你尝试{{test.split(',')[1]}} ,你会得到“ test2

这里是我的plnkr:

http://plnkr.co/edit/jaXOrZX9UO9kmdRMImdN?p=preview

你可以试试这个:

 $scope.testdata = [{ 'name': 'name,id' }, {'name':'someName,someId'}] $scope.array= []; angular.forEach($scope.testdata, function (value, key) { $scope.array.push({ 'name': value.name.split(',')[0], 'id': value.name.split(',')[1] }); }); console.log($scope.array) 

这样你可以保存数据供以后使用,并通过使用像这样的ng重复来访问它:

 <div ng-repeat="item in array">{{item.name}}{{item.id}}</div> 

我希望这有助于某人,
Plunker链接: 在这里
所有的信用从上面的答案去@jwpfox和@Mohideen ibn穆罕默德。