2017-01-04 26 views
-6
Iは、例えば 、文字列の最初の文字を大文字にする必要が

を使用して(。)は、角度JS

sumo => Sumo 

を最初の文字ドットに続く文字を大文字にし、また文字列を活用する必要があります次の形式、

Dr.ravi kumar => Dr.Ravi kumar 

私は、これは私が使用しているフィルタである、

0を第一条件に適していますが、それは1秒間動作しない角度フィルタを、使用しています
+0

あなたは、ドットを使用して文字列を分割することができ、 ""両方の文字列の最初の文字を大文字にします。 –

+0

上記のコードは '' sumo joe'の 'j'を大文字にすることができますか? – jensgram

+1

これも検索してみましたか? – charlietfl

答えて

-1

これを試してみてください:

angular 
    .module('app') 
    .filter('capitalize', function() { 
     return function (input, scope) { 
      if (input != null) { 
       input = input.toLowerCase(); 
       return input.substring(0, 1).toUpperCase() +input.substring(1).split('.')[0] + '.' + input.substring(1).split('.')[1].substring(0, 1).toUpperCase() + input.substring(1).split('.')[1].substring(1) 
      } 
     } 
    }); 
+0

これは、ドット(。)で始まる単語を大文字に変換します。例:dr.ravi => Dr.RAVI – durai

+0

もう一度チェックしてもよろしいですか? dr.ravi => Dr.Ravi – CommonPlane

0
string="hi you. im dr.test. nice to see you. by the way... what was your name?"; 
string=string.split(""); 
up=true; 
for(key in string){ 
console.log(string[key],up); 
    if(string[key]==="."){ 
    up=true; 
    }else{ 
    if(up&&(string[key]!==" ")){ 
    string[key]=string[key].toUpperCase(); 
    up=false; 
    }}} 
    string=string.join(""); 
console.log('result:',string); 

私のオリジナルの答えを(遅い):

string="hi you. im dr.test. nice to see you"; 
words=string.split(" "); 
var dots=[0]; 
for(key in words){//loop trough words 
    var word=words[key]; 
    var chars=word.split(""); 
    if(dots.length){//there was a dot before, that wasnt a doctor: lets find the first letter +upper 
     chars[0]=chars[0].toUpperCase(); 
     dots.shift();//remove dot  
    } 
    chars.forEach((char,i)=>{if(char=="."){dots.push(i)}}); 
    if(dots[0]&&dots[0]!=chars.length-1){//dot not at the end... 
     chars[dots[0]+1]=chars[dots[0]+1].toUpperCase();//upper our doctor... 
     dots.shift();//remove dot from array 
    } 
    word=chars.join(""); 
    words[key]=word; 
} 
string=words.join(" "); 
console.log('result:',string); 

の作業例を: http://jsbin.com/docecuvote/edit?console