Obtenez de chaîne entre deux chaînes de caractères dans une chaîne
J'ai une chaîne de caractères comme:
"super exemple of string key : text I want to keep - end of my string"
Je veux juste garder le string qui est entre "key : "
et " - "
. Comment puis-je le faire? Doit-on utiliser une Regex ou puis-je le faire d'une autre manière?
- utilisation
substring
etindexof
- Obtenir la chaîne après une chaîne de caractères dans une chaîne de caractères et avant une autre chaîne de caractères qui est également contenue dans la chaîne où l'ancienne chaîne est en ..
Vous devez vous connecter pour publier un commentaire.
Peut-être, une bonne façon est juste pour couper une sous-chaîne:
ou avec juste opérations de la chaîne
Vous pouvez le faire sans regex
Selon la façon robuste, flexible et vous voulez que votre mise en œuvre, cet état de fait peut être un peu délicat. Voici l'application que j'utilise:
InvariantCulture
ne fonctionne pas avec Windows Universal Apps. Est-il possible de l'enlever avec le maintien de la fonctionnalité de votre classe? @ChaseMedallionRegex est exagéré ici.
Vous pourrait utilisation
string.Split
à la surcharge de travail qui prend unstring[]
pour les délimiteurs mais ce serait aussi - être exagéré.Regarder
Chaîne
etIndexOf
- la première pour obtenir des pièces d'une chaîne de caractères donnée et l'index et d'une longueur et la seconde pour trouver indexé de l'intérieur des chaînes de caractères.string.Split
.Ici est de cette façon que je peux le faire
Je pense que cela fonctionne:
Un travail LINQ solution:
ou, avec une regex.
avec un exemple.
Vous pouvez décider si son overkill.
ou
comme une sous validé la méthode d'extension
Depuis le
:
et la-
sont uniques, vous pouvez utiliser:Vous pouvez utiliser l'extension de la méthode ci-dessous:
D'Usage:
Il ne renvoie qu'à la valeur(s) entre "la clé :" et au moment de "-"
Vous avez déjà quelques bonnes réponses et je me rends compte que le code que je fournis est de loin, la plus efficace et propre. Cependant, j'ai pensé qu'il pourrait être utile à des fins éducatives. Nous pouvons utiliser les pré-construit les classes et les bibliothèques tout au long de la journée. Mais sans en comprendre les rouages, nous sommes simplement en imitant et en répétant et ne sera jamais apprendre quoi que ce soit. Ce code fonctionne et qui est la plus fondamentale, ou "vierge" que certains des autres:
Vous vous retrouvez avec votre chaîne souhaitée affecté à la parsedString variable. Gardez à l'esprit qu'il permettra aussi de saisir l'instance et de l'espace précédent. Rappelez-vous qu'une chaîne est tout simplement un tableau de caractères qui peuvent être manipulés comme des autres tableaux avec des indices etc.
Prendre soin.
Si vous êtes à la recherche pour un 1 ligne de solution, c'est ça:
L'ensemble de la 1 solution en ligne, avec
System.Linq
:Comme je dis toujours, rien n'est impossible:
Espère Que J'Ai Aidé.