Metoder för textsträngar

Metoder för Textsträngar

Ofta handlar programmering om att arbeta med stora mängder data. Då data inte alltid är i format som passar just det program som ska skapas behövs verktyg (metoder) för att kunna strukturera om data.

Här tas ett antal metoder upp som används för att ändra strängar av text.
Använd metoderna i P5.js editor och se vad de gör genom att skriva ut resultaten i konsolen. Prova, testa och ändra eventuella argument för att förstå metoderna.

toLowerCase()           toUpperCase()

De här metoderna ändrar texten mellan gemener och VERSALER.

let str = 'idag testar vi att ändra text';
let newStr = str.toUpperCase();

console.log(newStr);
console.log(str);

Lägg märke till att ursprunglig text inte ändras. Metoderna returnerar en ny textsträng som kan lagras i en variabel.

charAt()

Används för att välja en specifik bokstav i en sträng.

let str = 'idag testar vi att ändra text';
let letter = str.charAt(5).toUpperCase(); 

console.log(letter);
console.log(str);

Bokstaven på position(index) 5 returneras som VERSAL.

slice()

För att dela upp en textsträng används slice(). I parentesen anges var strängen ska delas. Om ett argument anges så delas strängen från det argumentet och framåt. Returnerar ny sträng som kan sparas i en variabel.

let str = 'idag testar vi att ändra text';
let sliced = str.slice(5); 

console.log(sliced);
console.log(str);

Om två argument anges delas strängen från argument ett upp till, men inte inklusive, argument två.

let str = 'idag testar vi att ändra text';
let sliced = str.slice(5, 16); 

console.log(sliced);
console.log(str);

Det går också att använda negativa tal om man räknar från slutet av strängen. Det sista elementet i strängen har index -1, det näst sista har index -2 och så vidare. För att dela så att ordet ”text” returneras kan man skriva:

let str = 'idag testar vi att ändra text';
let sliced = str.slice(-4); 

console.log(sliced);
console.log(str);

För att dela så att ordet ”ändra” returneras ska man skriva:

let str = 'idag testar vi att ändra text';
let sliced = str.slice(-10,-4); 

console.log(sliced);
console.log(str);

För att returnera hela meningen med första bokstaven ändrad från gemen till VERSAL kombineras metoder.

let str = 'idag testar vi att ändra text';
let newStr = str.charAt(0).toUpperCase() + str.slice(1); 

console.log(newStr);
console.log(str);

indexOf()                   lastIndexOf()

Returnerar det första respektive det sista index av specificerat värde.

let str = 'idag testar vi att ändra text';
let firstA = str.indexOf('a');
let lastA = str.lastIndexOf('a');

console.log(firstA);
console.log(lastA);
console.log(str);

replace()

Letar efter ett specificerat värde och ersätter det med ett nytt värde.

let str = 'idag testar vi att ändra text';
let replaced = str.replace('ändra', 'bolla runt');

console.log(replaced);
console.log(str);

Observera att: Om ”ändra” skulle förekomma på flera platser i texten så är det är bara det först förekommande värdet som ändras.

split()

Används för att dela upp en textsträng i en array av strängar.
Inom parentesen anges var strängen ska delas.

let str = 'a,c,b,d,f,e';
let str2 ='a c b d f e';
let arr = str.split(',') ; //delad vid varje kommatecken
let arr2 = str2.split(' '); //delad vid varje blanksteg

console.log(arr);
console.log(arr2);
console.log(str);

sort()

När en sträng är delad till en array kan man använda metoden sort() på den för att sortera bokstäverna. sort() sorterar efter Unicode. Läs mer på https://www.asciitabell.se/

let str = 'a,c,b,d,f,e';
let arr = str.split(',').sort();//delad vid varje kommatecken

console.log(arr);
console.log(str);

join()

För att sen få ihop värdena i arrayen till en textsträng igen används join()

let str = 'a,c,b,d,f,e';
let arr = str.split(',').sort();
let sorted = arr.join();

console.log(str);
console.log(arr);
console.log(sorted);

  Låt oss ”lösa” ett problem med några av metoderna.
Problemet är den eviga frågan: ”Vad kom först, hönan eller ägget?”

Skapa en variabel som innehåller en sträng. Istället för bokstäver ska två emojis användas. Gå till https://emojipedia.org/ och hämta ett ägg och en höna. Lägg in dem i textsträngen med ett blanksteg mellan. Ordningen på dem kan vara vilken du än väljer.

Skapa en array av strängen delad vid blanksteget.

Sortera arrayen och lägg sen ihop den till en sträng igen.

Så..nu har du ”svaret” 😊