Comment puis-je Split(',') une chaîne tout ignorer des virgules entre guillemets?
Je suis en utilisant le .Split(',')
méthode sur une chaîne que je sais qu'elle a des valeurs délimitées par des virgules et je veux que ces valeurs soient séparés et placés dans une string[]
objet. Cela fonctionne très bien pour les chaînes comme ceci:
78,969.82,GW440,
.
Mais les valeurs de commencer à regarder les différents lors de cette seconde valeur va au-dessus de 1000, à l'instar de celle que l'on trouve dans cet exemple:
79,"1,013.42",GW450,...
.
Ces valeurs sont à venir à partir d'un contrôle de feuille de calcul où je utiliser les contrôles construit en ExportToCsv(...)
méthode et qui explique pourquoi une version mise en forme de la réelle valeur numérique.
Question
Est-il un moyen que je puisse obtenir les .Split(',')
méthode d'ignorer des virgules à l'intérieur de guillemets? Je n'ai pas vraiment envie de la valeur "1,013.42"
être divisée comme "1
et 013.42"
.
Des idées? Merci!
Mise à jour
Je voudrais vraiment le faire sans intégrer un outil 3ème partie comme mon cas d'utilisation n'a pas vraiment d'impliquer de nombreux autres cas d'ailleurs celui-ci et même si c'est une partie de mon travail est la solution, d'avoir un outil comme ça incorporé n'a pas vraiment d'avantage à personne pour le moment. J'espérais qu'il y a quelque chose de rapide pour résoudre ce cas d'utilisation particulier qui me manquait, mais maintenant que c'est le week-end, je vais voir si je ne peux pas donner un plus de mise à jour à cette question, lundi, avec la solution que j'ai finalement trouvé. Merci à vous tous pour vous une aide jusqu'à présent, je vais vous permettra d'évaluer chaque réponse plus le lundi.
double possible de Lire fichier csv
double possible de le Fractionnement de la chaîne par des espaces, mais ignorer les espaces à l'intérieur d'un devis
Jake... voir si cela peut vous aider à... il y a quelques façons de diviser: sqlperformance.com/2012/07/t-sql-queries/split-strings
OriginalL'auteur Jake Smith | 2014-01-24
Vous devez vous connecter pour publier un commentaire.
C'est un assez simple CSV Reader mise en œuvre que nous utilisons dans quelques projets ici. Facile à utiliser et les poignées de ces cas, vous êtes en train de parler.
D'abord le CSV Classe
Alors, un très bon Lecteur de la mise en œuvre - Si vous en avez besoin. Vous devriez être en mesure de faire ce que vous avez besoin juste avec le CSV classe au-dessus.
Alors vous pouvez l'utiliser comme ça.
Remarque: Ce serait ouvrir un fichier CSV existant, mais peut être modifié assez facilement pour prendre un
string[]
comme vous avez besoin.OriginalL'auteur Evan L
Puisque vous êtes en train de lire un fichier CSV, le meilleur plan d'action serait d'utiliser un CSV reader. Il n'y a plus de CSV que juste des virgules entre les guillemets. Trouver tous les cas, vous devez gérer serait plus de travail que ce qu'il vaut.
Voici un CSV reader question sur.
OriginalL'auteur Jon B
Vous devriez lire cet article: Expression régulière pour la Virgule, en Fonction de Fractionnement Ignorant des Virgules à l'intérieur des Guillemets
Même si c'est pour Java, mais l'expression régulière est la même.
L'amour de l'analogie.
OriginalL'auteur Paweł Bejger