J'ai la chaîne suivante :
'<http://localhost:8080/api/users?_sort=lastName,firstName&_order=asc,desc&_page=1&_limit=5>; rel="first", <http://localhost:8080/api/users?_sort=lastName,firstName&&_order=asc,desc&_page=2&_limit=5>; rel="next", <http://localhost:8080/api/users?_sort=lastName,firstName&&_order=asc,desc&_page=4&_limit=5>; rel="last"'
Je voudrais le convertir en tableau :
item 0 : <http://localhost:8080/api/users?_sort=lastName,firstName&_order=asc,desc&_page=1&_limit=5>; rel="first",
item 1 : <http://localhost:8080/api/users?_sort=lastName,firstName&&_order=asc,desc&_page=2&_limit=5>; rel="next",
item 2 : <http://localhost:8080/api/users?_sort=lastName,firstName&&_order=asc,desc&_page=4&_limit=5>; rel="last"
Je ne peux pas utiliser la virgule comme séparateur, et si j'essaie d'utiliser une sous-chaîne (comme
comment puis-je procéder ? merci pour le retour
En supposant que l'URL soit codée et ne contienne aucun espace, l'approche la plus simple serait :
urls.split(/, /)
Si tous les protocoles d'URL sont http
(et déjà suggérés dans les commentaires) :
urls.split(/, (?=<http)/)
const urls = '<http://localhost:8080/api/users?_sort=lastName,firstName&_order=asc,desc&_page=1&_limit=5>; rel="first", <http://localhost:8080/api/users?_sort=lastName,firstName&&_order=asc,desc&_page=2&_limit=5>; rel="next", <http://localhost:8080/api/users?_sort=lastName,firstName&&_order=asc,desc&_page=4&_limit=5>; rel="last"';
const spaceUrls = urls.split(/, /);
const httpUrls = urls.split(/, (?=<http)/);
console.log('Using space:', spaceUrls);
console.log('Using protocol:', httpUrls);
// test both results
spaceUrls.map((url, index) => {console.log(`Is spaceUrls[${index}] the same as httpUrls[${index}]? ${url === httpUrls[index]}`)})
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots