Lors d'une chaîne de formulaire J'ai extrait le nom du site Web à l'aide du code suivant: P> https://website-name.some-domaine.some-sub-domain.com/resourceid code> (type 1) ou https: // Site Web-Name.Some-sub-Domain.com/resourceid?randomContent code> (type 2), j'ai besoin d'extraire seulement deux sous-chaînes. J'ai besoin du nom de site Web code> dans une chaîne et weightid code> dans une autre chaîne. s := "https://website-name.some-domain.some-sub-domain.com/resourceId?randomContent"
r := regexp.MustCompile("com/(.*?)\\?")
resource := r.FindStringSubmatch(s)
fmt.Println(resource[1])
3 Réponses :
Peut-être quelque chose d'aussi simple que cela aidera.
Vous pouvez extraire le nom nom de site Web em> à l'aide de la regex suivante et de renvoyer le premier groupe: p> Vous pouvez extraire le la ressourceID < / EM> Utilisation de la regex suivante et renvoyant également le premier groupe: p>
Je suppose que cette expression pourrait fonctionner: test h3>
Démo H3> P>
Les chaînes d'échantillons que vous montrez sont des URL de HTTPS ordinaires, vous pouvez donc utiliser https://play.golang.org/pnfnf2rtbufxr a un exemple complet, y compris les deux chaînes d'URL de la question. Cela fonctionne même si la partie nom d'hôte de l'URL ne se termine pas par net / URL code> paquet pour les analyser. Le nom nom de site Web code> est la première partie du parsedurl.hostname () code> et le weaturesID code> est le parsedurl.path Code> moins d'un (code> code>. .com code> ou la partie de chemin inclut cette chaîne, ou un numéro de port ou un fragment de hachage, ou d'autres variantes. P > p>
Meilleure réponse. Go est livré avec un paquet natif pour faire exactement cela.
Je marquais cela comme la réponse puisqu'elle est générique et résout également mes problèmes. Merci.
Le Downvoter peut-il s'il vous plaît dire pourquoi la question est mauvaise?
Vérifiez play.golang.org/p/55exidxml5z , fonctionne-t-il comme prévu?
Je ne peux que supposer que sur le vote vers le bas, mais au lieu de faciliter la réponse à votre question (ou simplement de l'identifier, à ce sujet) Vous le faites compliquer.
@Markuswmahlberg Je suppose que ça aussi. La question peut sembler verbeuse. Je voulais juste donner la photo complète quand même.