2016-12-25 12 views
2

文章を単語に分割して操作する必要があります。私の問題は、me,またはdo?のような特殊文字と結合する単語だけです。 ,または?、または任意の特殊文字なしでフィルタリングされた2つの単語が必要です。しかし、私は入力として特別な文字で操作された言葉に戻って参加する必要があります。Javascript文章を各単語に分割しますが、特殊文字は忘れないでください

誰でも手伝ってもらえますか?これまでのスニペットコードは私の質問のサンプルです。

var sentence = "Tell me, what should I do?"; 
 

 
var myApp = angular.module('myApp',[]); 
 
myApp.controller('myCtrl',function($scope){ 
 
    
 
    $scope.output = sentence.split(" "); 
 
    $scope.join_back = $scope.output.join(" "); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="myApp"> 
 
    <div ng-controller="myCtrl"> 
 
    {{output}} 
 
    <hr/> 
 
    {{join_back}} 
 
    </div> 
 
</div>

+0

あなたが達成しようとしている何の前にスペースを削除するには? – guest271314

+0

文を単語に分解します - >単語を操作します - >入力単語の形式と同じ操作された単語に再び参加します。 – Nere

答えて

1

あなたの文字列を分割するために、この正規表現を試してみてください。

sentence.split(/\s|(?=\W)/) 

と句読点の使用

$scope.output.join(" ").replace(/\s+(\W)/g, "$1"); 

var sentence = "Tell me, what should I do?"; 
 

 
var myApp = angular.module('myApp',[]); 
 
myApp.controller('myCtrl',function($scope){ 
 
    
 
    $scope.output = sentence.split(/\s|(?=\W)/); 
 
    $scope.join_back = $scope.output.join(" ").replace(/\s+(\W)/g, "$1"); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="myApp"> 
 
    <div ng-controller="myCtrl"> 
 
    {{output}} 
 
    <hr/> 
 
    {{join_back}} 
 
    </div> 
 
</div>

+0

'、'、 '?'は入力と同じ位置にありません。 – Nere

+0

@Imran今すぐ確認してください。 – Deep

+0

非常に良い。あなたはangularjsビューでjoinを使う方法を教えてください。 – Nere

関連する問題