Supprimer le texte de la corde jusqu'à ce qu'il atteigne un certain caractère
Je vais avoir un problème à essayer de comprendre cela. J'ai besoin de "fixer" des liens, voici un exemple:
- www.site.com/link/index.php?REMOVETHISHERE
- www.site.com/index.php?REMOVETHISHERE
Donc, fondamentalement, je veux tout supprimer jusqu'à ce qu'il atteigne l' ? caractère. Merci pour votre aide.
Pouvez-vous garantir que seul un"? " dans votre chaîne?
Ouais. Parapura posté déjà ce que je voulais, merci.
si c'est une url valide, a un seul
Alors, donnez-Parapura les points ...
C'est vrai, et je commençais à oublier au sujet de la méthode LastIndexOf.
Ouais. Parapura posté déjà ce que je voulais, merci.
si c'est une url valide, a un seul
?
...Alors, donnez-Parapura les points ...
C'est vrai, et je commençais à oublier au sujet de la méthode LastIndexOf.
OriginalL'auteur Josh Mikel | 2011-12-03
Vous devez vous connecter pour publier un commentaire.
devrait le faire
coupant les cheveux en quatre, mais
IndexOf
serait probablement préférable deLastIndexOf
pourquoi ??? Si la chaîne avait plus d'un
?
OP veut sans doute le dernierJe pense qu'il est préférable d'utiliser le Système.Type d'Uri qui encapsule cette et élimine l'ambiguïté explicite de la chaîne des opérations. Il a des méthodes définies pour l'extraction des URL partielle de l'information, par exemple, tout en dehors de la chaîne de requête, qui semble être ce que l'OP veut.
OriginalL'auteur
Bien que correctement fabriqués à la chaîne de l'opération, la plus générale, pour en extraire partielle URI de l'information est d'utiliser le
System.Uri
type qui a des méthodes qui encapsule ces opérations, par exempleCela permettra de transmettre l'intention de votre code plus clair et vous serez re-à l'aide d'un courant de mise en œuvre qui est connue pour le travail.
La
System.Uri
constructeur va lever une exception si la chaîne ne représente pas une URI valide, mais vous serez de toute façon probablement envie d'invoquer certains autres dans votre programme si un URI non valide a été détecté. Pour détecter un URI non valide, vous pouvez intercepter l'exception ou d'utiliser l'un desTryCreate()
surcharges.OriginalL'auteur
Utilisation
string.split
.Puis
parts[0]
contiennent "www.site.com/link/index.php" etparts[1]
contiennent "REMOVETHISHERE". Vous pouvez ensuite utiliser qui jamais partie que vous voulez.Vous devez ajouter des contrôles pour s'assurer qu'il y a deux parties avant d'essayer d'accéder à la 2ème élément du tableau. Vous pourriez, par exemple, vérifier que la chaîne contient "?" avant d'essayer de l'appeler
Split
.OriginalL'auteur
Pour supprimer le dernier "?" et tout ce qui suit:
Maintenant, la sortie sera:
OriginalL'auteur