Cevin Thomas
Cevin Thomas

Reputation: 397

How to only get a certain portion of string?

I have this string that I receive from a get request:


Rekryteringstest för anställning


Det här är rekryteringstestet och samtidigt den sida som är data till programmet som ska skrivas

Uppgiften är ganska generellt skriven för att passa både för de som löser den i t ex Java och de som löser den som t ex en webbsida.

Skriv en lösning som: 1. Öppnar ett fönster (om inte resultatet visas i t ex webbläsare) 2. Laddar webbadresser till bilder med tillhörande kommentar (längst ner på den här sidan, nya bilder varje gång sidan laddas!) 3. Laddar och visar bilderna med tillhörande kommentar 4. Laddar om data (från den här sidan!) automatiskt var 30:e sekund, vid omladdning kan gamla bilder tas bort 5. Har en knapp för att manuellt trigga omladdning 6. Visar någon form av status när data laddas 7. Har en knapp för att avsluta applikationen 8. Har en 'Om'-dialog som visar kontaktinformation till dig 9. Lösningen ska vara enkel att testköra och om applicerbart EN körbar fil

A. Skicka in lösningen inklusive all kod till Bouvet

Hur applikationen ser ut är inte lika viktigt som hur applikationen med tillhörande unit-test är skriven och fungerar.

Data: https://images.unsplash.com/photo-1514125067037-8e669dd37638?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=1e2adb26fb5dc49fc14efd7f6aeca128&auto=format&fit=crop&w=1650&q=80 Mer publik

---------- END OF THE RESPONSE STRING ------------

Every time i make a request, the https link and text after the link updates.

How can I easily get only these values in this big string?

I have tried this

    let splittedArray = response.data.split( "Data:" );

And then I get this

<URL kommentar>
http://3.bp.blogspot.com/-_gbAWeYsKP4/T899GpY3CSI/AAAAAAAAACw/du8qLqu4xEo/s1600/empty.jpg Lådan
https://images.unsplash.com/photo-1514125067037-8e669dd37638?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=1e2adb26fb5dc49fc14efd7f6aeca128&auto=format&fit=crop&w=1650&q=80 Mer publik

for example.

From here I would like to split the https links and the text afterwards in different parts so I can easily use them. At the moment I cannot use split because it is an array (the last part)

Upvotes: 0

Views: 72

Answers (1)

Pac0
Pac0

Reputation: 23174

As per clarifications in comments, let's start with an example data here :

let splittedArray = [
  "part to be discarded", 
  "<URL kommentar> http://3.bp.blogspot.com/-_gbAWeYsKP4/T899GpY3CSI/AAAAAAAAACw/du8qLqu4xEo/s1600/empty.jpg Lådan
https://images.unsplash.com/photo-1514125067037-8e669dd37638?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=1e2adb26fb5dc49fc14efd7f6aeca128&auto=format&fit=crop&w=1650&q=80 Mer publik"
];

Then, you can't simply use split on the variable splittedArray.

If you want to do further manipulation on the second part (a string that actually contains the links), you need to get this part by referring it as splittedArray[1].

Then you can probably split it by space characters, and keep the ones starting with 'http'.

splittedArray[1].split(/\s+/)

let splittedArray = [
  "part to be discarded", 
  "<URL kommentar> http://3.bp.blogspot.com/-_gbAWeYsKP4/T899GpY3CSI/AAAAAAAAACw/du8qLqu4xEo/s1600/empty.jpg Lådan \
https://images.unsplash.com/photo-1514125067037-8e669dd37638?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=1e2adb26fb5dc49fc14efd7f6aeca128&auto=format&fit=crop&w=1650&q=80 Mer publik"
];

let splittedSecondPart = splittedArray[1].split(/\s+/);

let filteredByHttp = splittedSecondPart.filter(x => x.startsWith('http'));

console.log(filteredByHttp);

Upvotes: 1

Related Questions