C# à l'Aide de sous-Chaîne, comment puis-je extraire de cette chaîne?
Je veux extraire le premier dossier dans l'URL ci-dessous, dans cet exemple, il est appelé "extractThisFolderName", mais le dossier pourrait avoir n'importe quel nom et l'être n'importe quelle longueur. Avec cela à l'esprit, comment puis-je utiliser une sous-chaîne à extraire le premier nom de dossier?
La chaîne: www.somewebsite.com/extractThisFolderName/leave/this/behind
String folderName = path.Substring(path.IndexOf(@"/"),XXXXXXXXXXX);
C'est la longueur que je suis aux prises avec.
OriginalL'auteur | 2009-01-13
Vous devez vous connecter pour publier un commentaire.
Si vous êtes l'obtention d'un Uri, pourquoi ne pas simplement faire de l'uri.Les Segments[0]?
Ou même
path.Split(new Char[] { '/' })[1]
?C'est seulement un mauvais choix si vous allez être en utilisant plus d'une partie de la chaîne. Sinon, c'est manifestement plus rapide de passer pour la première de deux barres obliques, et d'ignorer le reste de la chaîne.
OriginalL'auteur Daniel Schaffer
Si vous allez être l'utilisant chaque chemin de partie, vous pouvez utiliser:
À quel point vous pouvez accéder à la "extractThisFolderName" partie par accéder à des parties[1].
Alternativement, vous pouvez le faire coller le dossier:
OriginalL'auteur NilObject
Daniel réponse vous donne d'autres moyens pratiques de le faire. Une autre alternative à l'aide de sous-chaîne:
Vous aurez envie d'ajouter un peu de vérification des erreurs il y a, bien sûr 🙂
la mise à l'essai slash? Je voulais deuxième barre.
C'est là que le "vous aurez envie d'ajouter un peu de vérification des erreurs il y a, bien sûr" - la vérification de -1 que le rendement pour les deux appels à IndexOf (ce qui en ferait start=0, bien sûr).
Raté - désolé!
OriginalL'auteur Jon Skeet
Le problème se prête également à des expressions régulières. Une expression comme:
Est clair sur ce qui se passe et vous pouvez obtenir les données par ces noms.
OriginalL'auteur PEZ
EDIT: Daniel Schaffer de réponse sur l'utilisation des uri segments est préférable, mais de gauche dans ce qu'il est peut-être votre chemin n'est pas vraiment une uri valide.
D'accord. Bien que ce n'était pas la question.
OriginalL'auteur Sam Meldrum
Que vous pouvez faire:
Au même point, je suppose que cela est fait dans ASP.Net si oui, je pense qu'il y a peut être une autre façon d'obtenir ce sans doign l'interrogation.
OriginalL'auteur JoshBerke
OriginalL'auteur devio