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.

var str = 'idag testar vi att ändra text';
var 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.

var str = 'idag testar vi att ändra text';
var 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.

var str = 'idag testar vi att ändra text';
var 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å.

var str = 'idag testar vi att ändra text';
var 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:

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

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

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

var str = 'idag testar vi att ändra text';
var 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.

var str = 'idag testar vi att ändra text';
var 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.

var str = 'idag testar vi att ändra text';
var firstA = str.indexOf('a');
var 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.

var str = 'idag testar vi att ändra text';
var 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.

var str = 'a,c,b,d,f,e';
var str2 ='a c b d f e';
var arr = str.split(',') ; //delad vid varje kommatecken
var 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/

var str = 'a,c,b,d,f,e';
var 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()

var str = 'a,c,b,d,f,e';
var arr = str.split(',').sort();
var 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” 😊