# đïžâđšïž Om vad man behöver kunna om strings/strĂ€ngar?
- En mycket vanlig datatype som anvÀnda i mÄnga olika sammanhang.
- Det svenska namnet Àr strÀng, men i daglit tal förekommer ofta den engelska varianten.
- FörstÄlse uppyggnadne av och metoder implementer i strÀngar.
â Vad Ă€r en strĂ€ng?
Vi ger hÀr en ungefÀrligt deinition och förklaring, se lÀnk för exakt definition.
- Helt enkelt en vanligt test som vi kan anvÀnda i js.
- Det Àr en följd av tecken som skapar en text.
- Dessa tecken kan vara i UNICODE, vilket gör det enkelt för oss.
- De kan ocksÄ vara "escape sequences".
đŁ NĂ„gra kommentar om strĂ€ngar
StrÀngar beter sig i mycket som array:er men Àr inga arrayer.
- De Àr "oförÀndliga(immutable)"
- Du kan alltsÄ alldrig Àndra ett tecken genom t.ex: let a= "abba"; a2="b";
- med mera.
StrÀngar anvÀnds mycket
Det finns vÀldigt mÄnga siituationer dÄ du behÀver en string.
- Om du lÀser in data ifrÄn en fil.
- Om du ska skriva nÄgot till en anvÀndare.
- Om du ska besvara ett anrop(request) med ett html dokument.
đïž StrĂ€ngar i alla sprĂ„k?
StÀngar finns i alla sprÄk.
- I visa Àldre sprÄk sÄ som C har inte stöd för UNICODE.
- Visa enkla metoder för strÀng hantering sakans i t.ex. C++.
- I php blir mycket automatiskt typomvandlat till strÀngar.
đ Hur konvertera nĂ„got till en strĂ€ng?
Det Àr ofta nödvÀndigt att typomvandla till en strÀng.
- let one = String(1);
- ""+1;
- Number(1).toString();
- Om du har ett objekt sÄ kan du implmentera en method toString för att fÄ automatisk omvandling.
đŹ Hur vet vi att en variabel Ă€r en strĂ€ng?
Det Àr faktiskt rÀtt sÄ lÀtt.
- let b = "Bamse";
- typeof "Bamse" === "string";
- typeof "abba";
Escape sekvens
Escape sekvens Àr specialtecken som pÄverkar utskriften. Du kan anvÀnda sammat tecken som in terminalen.
- "\n" betyder ny rad.
- "\t" betyder ny tab.
- AnvÀnd gÀrna ett biblotek fom "color" för att fÄ fÀrg pÄ dina utskrifter.
Sammanfoga text
Kan göras pÄ olika sÀtt och kan leda till problematiska bugar.
- "a "+"b"
- b.concat("sic!")
- Kod: `${a} ${b}`
FĂ„ ett tecken
Fungerar som för en array
För att hitta tecken.
- "hej".indexOf("e"):
- "hej annna".indexOf("anna");
- "hej anna anna".indexOf("anna");
- "hej anna anna".indexOf("q");
split
split anvÀnds för att dela uppe en string.
- Du kan anvÀnda det till parsning.
- "anna abba apa".split(" ");
- "anna abba apa".split("a");
slice
Fungerar likande som för en array.
Fler metoder för hantera strÀngar?
StrÀnghantering
Exempel
a[0].toUpperCase() + a.slice(1,3)
function foo(text) {
result = [];
for(let i of a)
{
if(i !== "och") {
result.push(i[0].toUpperCase() + i.slice(1));
}
}
result.join(" ");
}