Bir dize ilk harfini JavaScript'te nas─▒l yapabilirim?


Al─▒nan cevaba git


Bir dize ilk harfini b├╝y├╝k harfle nas─▒l yapar─▒m, ancak di─čer harflerden herhangi birinin durumunu de─či┼čtirmez miyim?

├ľrne─čin:

  • "this is a test" -> "This is a test"
  • "the Eiffel Tower" -> "The Eiffel Tower"
  • "/index.html" -> "/index.html"

3519









Cevap say─▒s─▒n─▒ say: 30






 function capitalizeFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
}
 

Baz─▒ di─čer cevaplar de─či┼čiyor String.prototype (bu cevap da kullan─▒lm─▒┼č), ancak bak─▒mdan dolay─▒ (i┼člevin nereye eklendi─čini bulmak zor prototype ve di─čer kod ayn─▒ ismi / taray─▒c─▒y─▒ kullan─▒yorsa ├žak─▒┼čmalara neden olabilir. gelecekte ayn─▒ ada sahip bir yerel i┼člev ekler).


5454







─░┼čte daha nesneye y├Ânelik bir yakla┼č─▒m:

 String.prototype.capitalize = function() {
    return this.charAt(0).toUpperCase() + this.slice(1);
}
 

Fonksiyonu ┼č├Âyle ├ža─č─▒r─▒rs─▒n:

 "hello world".capitalize();
 

Beklenen ├ž─▒kt─▒ ┼č├Âyle:

 "Hello world" 
 

1306







CSSÔÇÖde:

 p:first-letter {
    text-transform:capitalize;
}
 

513







Dize bir dizi olarak bak─▒larak ilk harfi alan pop├╝ler yan─▒t─▒n k─▒salt─▒lm─▒┼č bir s├╝r├╝m├╝:

 function capitalize(s)
{
    return s[0].toUpperCase() + s.slice(1);
}
 

G├╝ncelle┼čtirme:

A┼ča─č─▒daki yorumlara g├Âre bu, IE 7 veya daha alt─▒nda ├žal─▒┼čmaz.

G├╝ncelleme 2:

undefined Bo┼č dizgileri ├Ânlemek i├žin (a┼ča─č─▒daki @ njzk2'nin yorumuna bak─▒n ), bo┼č bir dize olup olmad─▒─č─▒n─▒ kontrol edebilirsiniz:

 function capitalize(s)
{
    return s && s[0].toUpperCase() + s.slice(1);
}
 

268







Yay─▒nlanan birka├ž farkl─▒ y├Ântemin performans─▒ ile ilgileniyorsan─▒z:

─░┼čte bu jsperf testini temel alan en h─▒zl─▒ y├Ântemler (en h─▒zl─▒dan en yava┼ča do─čru s─▒ralan─▒r).

G├Ârd├╝─č├╝n├╝z gibi, ilk iki y├Ântem performans a├ž─▒s─▒ndan esasen kar┼č─▒la┼čt─▒r─▒labilirken, bunu de─či┼čtirmek String.prototype performans a├ž─▒s─▒ndan en yava┼č olan─▒d─▒r.

 // 10,889,187 operations/sec
function capitalizeFirstLetter(string) {
    return string[0].toUpperCase() + string.slice(1);
}

// 10,875,535 operations/sec
function capitalizeFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
}

// 4,632,536 operations/sec
function capitalizeFirstLetter(string) {
    return string.replace(/^./, string[0].toUpperCase());
}

// 1,977,828 operations/sec
String.prototype.capitalizeFirstLetter = function() {
    return this.charAt(0).toUpperCase() + this.slice(1);
}
 


g├Âr├╝nt├╝ tan─▒m─▒n─▒ buraya girin


166







Ba┼čka bir durumda, ilk harfi b├╝y├╝k harf yap─▒p kalan─▒n─▒ k├╝├ž├╝k harfle yazmam gerekir. A┼ča─č─▒daki durumlar bana bu i┼člevi de─či┼čtirdi:

 //es5
function capitalize(string) {
    return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
}
capitalize("alfredo")  // => "Alfredo"
capitalize("Alejandro")// => "Alejandro
capitalize("ALBERTO")  // => "Alberto"
capitalize("ArMaNdO")  // => "Armando"

// es6 using destructuring 
const capitalize = ([first,...rest]) => first.toUpperCase() + rest.join('').toLowerCase();
 

146







Bu 2018 ECMAScript 6+ ├ç├Âz├╝m├╝ :

 const str = 'the Eiffel Tower';
const newStr = `${str[0].toUpperCase()}${str.slice(1)}`;
console.log('Original String:', str); // the Eiffel Tower
console.log('New String:', newStr); // The Eiffel Tower 


71







 var string = "hello world";
string = string.charAt(0).toUpperCase() + string.slice(1);
alert(string);
 

62


2013-07-17





Bir dizedeki t├╝m kelimelerin ilk harfini b├╝y├╝k harfle yaz:

 function ucFirstAllWords( str )
{
    var pieces = str.split(" ");
    for ( var i = 0; i < pieces.length; i++ )
    {
        var j = pieces[i].charAt(0).toUpperCase();
        pieces[i] = j + pieces[i].substr(1);
    }
    return pieces.join(" ");
}
 

61


2011-11-30





Zaten kullan─▒yorsan─▒z (veya kullanmay─▒ d├╝┼č├╝n├╝yorsan─▒z) lodash , ├ž├Âz├╝m kolayd─▒r:

 _.upperFirst('fred');
// => 'Fred'

_.upperFirst('FRED');
// => 'FRED'

_.capitalize('fred') //=> 'Fred'
 

Dok├╝manlar─▒na bak─▒n: https://lodash.com/docs#capitalize

_.camelCase('Foo Bar'); //=> 'fooBar'

https://lodash.com/docs/4.15.0#camelCase

 _.lowerFirst('Fred');
// => 'fred'

_.lowerFirst('FRED');
// => 'fRED'

_.snakeCase('Foo Bar');
// => 'foo_bar'
 

─░lk b├╝y├╝k harf i├žin vanilya js:

 function upperCaseFirst(str){
    return str.charAt(0).toUpperCase() + str.substring(1);
}
 

58







─░lk karakterimi favorilerimden biriyle alabiliriz, RegExp tatl─▒ bir surat gibi. /^./

 String.prototype.capitalize = function () {
  return this.replace(/^./, function (match) {
    return match.toUpperCase();
  });
};
 

Ve t├╝m kahve ba─č─▒ml─▒lar─▒ i├žin:

 String::capitalize = ->
  @replace /^./, (match) ->
    match.toUpperCase()
 

... ve yerel prototipleri geni┼čletmeden bunu yapman─▒n daha iyi bir yolu oldu─čunu d├╝┼č├╝nen t├╝m ├žocuklar i├žin:

 var capitalize = function (input) {
  return input.replace(/^./, function (match) {
    return match.toUpperCase();
  });
};
 

49







 String.prototype.capitalize = function(allWords) {
   return (allWords) ? // if all words
      this.split(' ').map(word => word.capitalize()).join(' ') : //break down phrase to words then  recursive calls until capitalizing all words
      this.charAt(0).toUpperCase() + this.slice(1); // if allWords is undefined , capitalize only the first word , mean the first char of the whole string
}
 

Ve sonra:

  "capitalize just the first word".capitalize(); ==> "Capitalize just the first word"
 "capitalize all words".capitalize(true); ==> "Capitalize All Words"
 

Sadece FUN i├žin Nov.2016 g├╝ncellemesi (ES6):

 const capitalize = (string = '') => [...string].map(    //convert to array with each item is a char of string by using spread operator (...)
    (char, index) => index ? char : char.toUpperCase()  // index true means not equal 0 , so (!index) is the first char which is capitalized by `toUpperCase()` method
 ).join('')                                             //return back to string
 

sonra capitalize("hello") // Hello


47







E─čer kullan─▒rsan─▒z underscore.js veya Lo-Dash , underscore.string k├╝t├╝phane yararlanmak dahil dize uzant─▒lar─▒ sa─člar:

_.capitalize (string) Dizenin ilk harfini b├╝y├╝k harfe d├Ân├╝┼čt├╝r├╝r.

├ľrnek:

 _.capitalize("foo bar") == "Foo bar"
 

45







Sadece CSS

 p::first-letter {
  text-transform: uppercase;
}
 
  • ├ça─čr─▒lmas─▒na ra─čmen ::first-letter , ilk karakter i├žin ge├žerlidir , yani karakter dizisi durumunda %a , bu se├žici ge├žerli olacak % ve a b├╝y├╝k harf kullanmayacakt─▒r.
  • IE9 + veya IE5.5 + 'da eski g├Âsterimde yaln─▒zca bir iki nokta ├╝st ├╝ste ( :first-letter ) ile desteklenir .

ES2015 tek astar

├çok say─▒da cevap oldu─čundan, ancak ES2015ÔÇÖte orjinal sorunu etkili bir ┼čekilde ├ž├Âzecek hi├žbir ┼čey olmad─▒─č─▒ndan, a┼ča─č─▒dakileri g├Ârd├╝m:

 const capitalizeFirstChar = str => str.charAt(0).toUpperCase() + str.substring(1);
 

Uyar─▒lar

  • parameters => function ok i┼člevi denir .
  • Onun capitalizeFirstChar yerine isimle gittim capitalizeFirstLetter , ├ž├╝nk├╝ OP t├╝m dizedeki ilk harfi b├╝y├╝k harf yapan kod istemiyordu, ancak ilk karakter (e─čer mektubu ise elbette).
  • const bize capitalizeFirstChar bir programc─▒ olarak her zaman niyetlerinizi a├ž─▒k bir ┼čekilde belirtmeniz gerekti─činden, istendi─či kadar sabit ilan etme yetene─či verir .
  • Yapt─▒─č─▒m kriterde string.charAt(0) ve aras─▒nda anlaml─▒ bir fark yoktu string[0] . Bununla birlikte, bunun bo┼č dize i├žin string[0] olaca─č─▒na dikkat undefined edin, bu y├╝zden string && string[0] alternatife k─▒yasla ├žok ayr─▒nt─▒l─▒ bir ┼čekilde yeniden yaz─▒lmal─▒d─▒r .
  • string.substring(1) daha h─▒zl─▒ string.slice(1) .

Kar┼č─▒la┼čt─▒rma

  • Bu ├ž├Âzelti i├žin 4,956,962 ops / s ┬▒% 3,03,
  • En ├žok oy alan cevap i├žin 4.577.946 op / s ┬▒% 1.2.
  • Olu┼čturulan JSBench.me Google Chrome 57 ├╝zerinde.


├ç├Âz├╝mlerin kar┼č─▒la┼čt─▒rmas─▒


41







 var capitalized = yourstring[0].toUpperCase() + yourstring.substr(1);
 

38







CSS'de daha kolay g├Âr├╝n├╝yor:

 <style type="text/css">
    p.capitalize {text-transform:capitalize;}
</style>
<p class="capitalize">This is some text.</p>
 

Bu, CSS text-transform Property'den ( W3Schools'ta ).


37


2011-12-09





Genel olarak, CSS kullanarak bir ┼čeyi ├ž├Âzebiliyorsan─▒z, ├Ânce CSS kullanarak bu t├╝r i┼člemlerle ba┼ča ├ž─▒kmak her zaman daha iyidir , sonra sorunlar─▒n─▒z─▒ ├ž├Âzmek i├žin ├Ânce JavaScript'i deneyin, bu durumda :first-letter CSS'de kullanmay─▒ deneyin ve uygulay─▒n. text-transform:capitalize;

Bu nedenle, bunun i├žin bir s─▒n─▒f olu┼čturmay─▒ deneyin, b├Âylece onu genel olarak kullanabilirsiniz, ├Ârne─čin: .first-letter-uppercase ve CSS'inize benzer bir ┼čey ekleyin:

 .first-letter-uppercase:first-letter {
    text-transform:capitalize;
}
 

Ayr─▒ca alternatif se├ženek JavaScript, bu y├╝zden en iyisi ┼čunun gibi olacak:

 function capitalizeTxt(txt) {
  return txt.charAt(0).toUpperCase() + txt.slice(1); //or if you want lowercase the rest txt.slice(1).toLowerCase();
}
 

ve ┼č├Âyle diyoruz:

 capitalizeTxt('this is a test'); // return 'This is a test'
capitalizeTxt('the Eiffel Tower'); // return 'The Eiffel Tower'
capitalizeTxt('/index.html');  // return '/index.html'
capitalizeTxt('alireza');  // return 'Alireza'
 

Tekrar tekrar kullanmak istiyorsan─▒z, javascript yerel Stringine eklemeniz daha iyi olur;

 String.prototype.capitalizeTxt = String.prototype.capitalizeTxt || function() {
    return this.charAt(0).toUpperCase() + this.slice(1);
}
 

ve a┼ča─č─▒daki gibi aray─▒n:

 'this is a test'.capitalizeTxt(); // return 'This is a test'
'the Eiffel Tower'.capitalizeTxt(); // return 'The Eiffel Tower'
'/index.html'.capitalizeTxt();  // return '/index.html'
'alireza'.capitalizeTxt();  // return 'Alireza'
 

37







T├╝m b├╝y├╝k harfli metni yeniden bi├žimlendirmek istiyorsan─▒z, di─čer ├Ârnekleri de ┼ču ┼čekilde de─či┼čtirmek isteyebilirsiniz:

 function capitalize (text) {
    return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();
}
 

Bu, a┼ča─č─▒daki metnin de─či┼čtirilmesini sa─člayacakt─▒r:

 TEST => Test
This Is A TeST => This is a test
 

36







kullan─▒n:

 var str = "ruby java";

console.log(str.charAt(0).toUpperCase() + str.substring(1)); 

"Ruby java" Konsola ├ž─▒k─▒┼č yapacak.


35







 function capitalize(s) {
    // returns the first letter capitalized + the string from index 1 and out aka. the rest of the string
    return s[0].toUpperCase() + s.substr(1);
}


// examples
capitalize('this is a test');
=> 'This is a test'

capitalize('the Eiffel Tower');
=> 'The Eiffel Tower'

capitalize('/index.html');
=> '/index.html'
 

34







De─či┼čtirerek uygulaman─▒n ├žok basit bir yolu var . ECMAScript 6 i├žin:

 'foo'.replace(/^./, str => str.toUpperCase())
 

Sonu├ž:

 'Foo'
 

34







─░┼čte ucfirst () adl─▒ bir i┼člev ( "b├╝y├╝k harf ilk harf" i├žin k─▒sa):

 function ucfirst(str) {
    var firstLetter = str.substr(0, 1);
    return firstLetter.toUpperCase() + str.substr(1);
}
 

Bir dizeyi ucfirst ("some string") diyerek b├╝y├╝k harf yapabilirsiniz - ├Ârne─čin,

 ucfirst("this is a test") --> "This is a test"
 

─░pi iki par├žaya b├Âlerek ├žal─▒┼č─▒r. ─░lk sat─▒rda firstLetter'─▒ ├ž─▒kar─▒r ve sonra ikinci sat─▒rda firstLetter.toUpperCase () ├Â─česini ├ža─č─▒rarak firstLetter'─▒ b├╝y├╝k harf yapar ve str.substr (1) ├Â─česini ├ža─č─▒rarak bulunan dizenin geri kalan─▒yla birle┼čtirir .

Bunun bo┼č bir dize i├žin ba┼čar─▒s─▒z olaca─č─▒n─▒ d├╝┼č├╝nebilirsiniz ve ger├žekten C gibi bir dilde bunun i├žin yiyecek ve i├žecek sa─člamak zorunda kalacaks─▒n─▒z. Ancak, JavaScript'te, bo┼č bir dizenin alt metnini ald─▒─č─▒n─▒zda, sadece bo┼č bir dizge geri al─▒rs─▒n─▒z.


31







EN KISA 3 ├ž├Âz├╝mler, 1 ve 2 sap durumlarda zaman s dizedir "" , null ve undefined :

  s&&s[0].toUpperCase()+s.slice(1)        // 32 char

 s&&s.replace(/./,s[0].toUpperCase())    // 36 char - using regexp

'foo'.replace(/./,x=>x.toUpperCase())    // 31 char - direct on string, ES6
 

 let s='foo bar';

console.log( s&&s[0].toUpperCase()+s.slice(1) );

console.log( s&&s.replace(/./,s[0].toUpperCase()) );

console.log( 'foo bar'.replace(/./,x=>x.toUpperCase()) ); 


30







 String.prototype.capitalize = function(){
    return this.replace( /(^|\s)([a-z])/g , function(m,p1,p2){ return p1+p2.toUpperCase();
    } );
};
 

Kullan─▒m─▒:

 capitalizedString = someString.capitalize();
 

Bu bir metin dizesi => Bu bir Metin Dizesidir


29







 var str = "test string";
str = str.substring(0,1).toUpperCase() + str.substring(1);
 

28







Bu ├ž├Âz├╝me g├Âz at─▒n:

 var stringVal = 'master';
stringVal.replace(/^./, stringVal[0].toUpperCase()); // returns Master 
 

21







 yourString.replace(/^[a-z]/, function(m){ return m.toUpperCase() });
 

(Bir i┼člevde kaps├╝lleyebilir veya s─▒k kullan─▒rsan─▒z bile String prototipine ekleyebilirsiniz.)


20







ucfirst B├Âyle yaparsan fonksiyon ├žal─▒┼č─▒r.

 function ucfirst(str) {
    var firstLetter = str.slice(0,1);
    return firstLetter.toUpperCase() + str.substring(1);
}
 

A├ž─▒klama i├žin te┼čekk├╝rler JP.


19







B├Âyle bir sat─▒rda yapabilirsiniz

 string[0].toUpperCase() + string.substring(1)
 

16







 yourString.replace(/\w/, c => c.toUpperCase())
 

Bu ok fonksiyonunu en kolay buldum. De─či┼čtir, dizginizin ilk harf karakteriyle ( \w ) e┼čle┼čir ve onu b├╝y├╝k harfe d├Ân├╝┼čt├╝r├╝r. Gerekli bir merakl─▒ yok.


16


2018-07-14

─░lgili yay─▒nlar


Javascript'te bir nesnenin ilk ├Âzelli─čine nas─▒l eri┼čilir?

JQuery ile se├žilen ilk <select> se├žene─či nas─▒l yap─▒l─▒r

Her kelimenin ilk harfini bir dizgede (Python) nas─▒l b├╝y├╝k harf yapabilirim?

Bir dizede her kelimenin ilk karakterini b├╝y├╝k harf kullanma

Bir URLÔÇÖnin ana bilgisayar ad─▒ k─▒sm─▒ JavaScriptÔÇÖte nas─▒l ├ž─▒kar─▒l─▒r?

Bir dize ilk harfini Java ile b├╝y├╝k harf nas─▒l yaz─▒l─▒r?

PHP'nin ilk karakteri nas─▒l kald─▒r─▒l─▒r?

Bir bash beti─činde bir dosyan─▒n ilk sat─▒r─▒n─▒ nas─▒l alabilirim?

Java kullanarak bir kelimenin ilk harfini b├╝y├╝k harflerle nas─▒l yazar─▒m?

Her iki kelimenin de ilk harfini iki harfli bir dizgede

Etiketle ilgili di─čer sorular [javascript]


Neden kendi kendine kapanan komut dosyas─▒ ├Â─čeleri ├žal─▒┼čm─▒yor?

Python'da giri┼č dizinine nas─▒l ula┼č─▒l─▒r? [├žift]

Bir dize C# ba┼čka bir dize ile b├Âlme

─░lerleme ileti┼čim kutusu ve arka plan i┼č par├žac─▒─č─▒ etkinken ekran y├Ân├╝ de─či┼čikli─či nas─▒l i┼členir?

Curl kullanarak HTTP POST'tan yaln─▒zca yan─▒t ba┼čl─▒─č─▒ alma

AVFoundation, captureStillImageAsynosseFromConnection'da yakalama sesi nas─▒l kapat─▒l─▒r?

─░├ž i├že ge├žmi┼č JavaScript nesnelerine dize tu┼ču ile eri┼čme

SQL Server'da bir s├╝tunun veri t├╝r├╝n├╝ nas─▒l de─či┼čtirirsiniz?

CoffeeScript'te global de─či┼čkenleri nas─▒l tan─▒mlar─▒m?

Hata tipi 3 Hata: Etkinlik s─▒n─▒f─▒ {} mevcut de─čil