Javascript

8. Strängar

Metoder i till strängar som är bra att kunna

🔹 Söka och jämföra

  • .charAt(index) – returnerar tecknet på given position
  • .charCodeAt(index) – returnerar Unicode för tecknet
  • .at(index) – modern variant för att hämta tecken
  • .indexOf(substring) – första positionen av substring (eller -1)
  • .lastIndexOf(substring) – sista positionen av substring
  • .includes(substring)true/false om substring finns
  • .startsWith(substring)true/false om strängen börjar med substring
  • .endsWith(substring)true/false om strängen slutar med substring
  • .localeCompare(other) – jämför strängar (alfabetiskt, språkanpassat)

🔹 Extrahera delar av strängar

  • .slice(start, end) – hämtar del av strängen
  • .substring(start, end) – liknar .slice men accepterar omvända index
  • .substr(start, length) – (föråldrad men finns kvar) hämtar viss längd

🔹 Ändra innehåll

  • .toUpperCase() – versaler
  • .toLowerCase() – gemener
  • .trim() – tar bort mellanslag i början/slut
  • .trimStart() / .trimEnd() – tar bort mellanslag från början/slut
  • .padStart(length, str) – fyller ut i början till viss längd
  • .padEnd(length, str) – fyller ut i slutet till viss längd
  • .repeat(count) – upprepar strängen

🔹 Söka och ersätta

  • .replace(search, newValue) – ersätter första matchningen
  • .replaceAll(search, newValue) – ersätter alla matchningar
  • .match(regex) – returnerar matchande delar (regex)
  • .matchAll(regex) – returnerar iterator med alla matchningar
  • .search(regex) – index för första regex-träffen

🔹 Splitta och kombinera

  • .split(separator) – delar upp strängen i array
  • .concat(str2, str3, …) – slår ihop strängar (samma som +)

🔹 Andra nyttiga metoder

  • .length – (egenskap, ej metod) strängens längd
  • .valueOf() – returnerar det primitiva strängvärdet
  • .toString() – konverterar till sträng (ofta implicit)
  • .normalize() – normaliserar Unicode (t.ex. accenter)
  • .codePointAt(index) – hanterar Unicode-tecken utanför BMP
  • .fromCharCode(num1, num2, …) (static på String) – skapar sträng från Unicode
  • .fromCodePoint(num1, num2, …) (static) – stöd för alla Unicode-tecken
  • .raw (static, används med template literals) – returnerar råa strängvärden

📌 Exempel:

let text = " Hej Världen! ";
console.log(text.trim());         // "Hej Världen!"
console.log(text.toUpperCase());  // " HEJ VÄRLDEN! "
console.log(text.includes("Hej"));// true
console.log(text.slice(1, 4));    // "Hej"
console.log("abc".repeat(3));     // "abcabcabc"