Välkommen till wF!
str.replace(/^(.).*/, function(){ return arguments[1].toUpperCase() + arguments[0].substring(1); });
8 svar · 643 visningar · startad av Maacus
Jag försöker hitta en funktion som gör om den första bokstaven i första ordet i en sträng till UpperCase. Har surfat runder ett bra tag utan att jag funnit någon lösning. Är det någon som har stött på detta tidigare och har en lösning?
Välkommen till wF!
str.replace(/^(.).*/, function(){ return arguments[1].toUpperCase() + arguments[0].substring(1); });
Peter S skrev:
Välkommen till wF!
str.replace(/^(.).*/, function(){ return arguments[1].toUpperCase() + arguments[0].substring(1); });
Tackar!
Är inte riktigt med på hur jag ska använda koden.
Variablen som jag har strängen i heter itemSource.
Då bör det bli
itemSource = itemSource.replace(/^(.).*/, function(){ return arguments[1].toUpperCase() + arguments[0].substring(1); });
så tänkte jag med men får inte det att fungera. Får följande fel meddelande.
"Operator '=' must be followed by an operand".
Nu vet jag egentligen ingenting om Flash, men efter litet Googlande visade det sig att det kan bero på skräptecken som är i vägen. Vad händer t.ex. om du utelämnar blankstegen före och efter likhetstecknet?
Blankstegen mellan = tecknet spelar ingen roll. De måste va någon annan del av koden som det är fel i. Hur fick du tag i koden?
Jag skrev ihop den. Eftersom såväl JS som AS bygger på ECMAScript tycker jag ovanstående bör fungera för dig också (det fungerar i JS).
Kan det ha med versionen av Flash att göra? Vad händer om du definierar den anonyma funktionen vid sidan av?
itemSource = itemSource.replace(/^(.).*/, f);
function f(){ return arguments[1].toUpperCase() + arguments[0].substring(1); }
Testa att göra detsamma med regexp:et.
regexp finns bara om du publicerar för Flash Player 9, vilket kräver att du använder Flash 9 beta eller Flex 2.
Så förmodligen får du hålla tillgodo med "substr", vilket borde duga utmärkt om jag förstått frågan rätt:
itemSource = itemSource.substr(0,1).toUpperCase() + itemSource.substr(1);