を使用して(。)は、角度JS
sumo => Sumo
を最初の文字ドットに続く文字を大文字にし、また文字列を活用する必要があります次の形式、
Dr.ravi kumar => Dr.Ravi kumar
私は、これは私が使用しているフィルタである、
0を第一条件に適していますが、それは1秒間動作しない角度フィルタを、使用していますを使用して(。)は、角度JS
sumo => Sumo
を最初の文字ドットに続く文字を大文字にし、また文字列を活用する必要があります次の形式、
Dr.ravi kumar => Dr.Ravi kumar
私は、これは私が使用しているフィルタである、
0を第一条件に適していますが、それは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)
}
}
});
これは、ドット(。)で始まる単語を大文字に変換します。例:dr.ravi => Dr.RAVI – durai
もう一度チェックしてもよろしいですか? dr.ravi => Dr.Ravi – CommonPlane
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);
あなたは、ドットを使用して文字列を分割することができ、 ""両方の文字列の最初の文字を大文字にします。 –
上記のコードは '' sumo joe'の 'j'を大文字にすることができますか? – jensgram
これも検索してみましたか? – charlietfl