-1
votes

Retirez les espaces seulement avant et après le tuyau

J'ai la chaîne suivante, qui sépare du tuyau " | code>".

var value = Regex.Replace(sample, " *, *", ",");


1 commentaires

Soit vous devez utiliser la garniture () avant de créer une mauvaise sortie ou de la scission et d'ignorer les espaces: String [] Sortie = INPUT.SPLIT (Nouveau Char [] {'' ',' | '}, StringSplitoption.RemoVeTyries). Vous ne devez pas utiliser RegEx lorsqu'il existe des méthodes de chaîne beaucoup plus efficaces pour effectuer la tâche.


3 Réponses :


1
votes

| est un char et un moyen spécial ou dans regex afin qu'il doit être échappé: \ | xxx


1 commentaires

Je pense que cette regex est un peu plus élégante (\ s)? \ | (\ S)? Testez-le ici



0
votes

à l'aide de LINQ,

using System;
using System.Linq;
using System.Collections.Generic;

string sample = "SVC1 | SVC2 | SVC3 | SVC1 ";
string result = sample
                  .Split('|')     //Split by pipe 
                  .Aggregate(string.Empty, (x, y) => x + y.Trim()+'|'); //Trim white spaces and concatenate with previous string 

    Console.WriteLine(result);  //Print result


1 commentaires

Toute raison spécifique du Downvote? @ Flydog57 Ma solution Supprimer les espaces Seulement avant et après tuyau. Si vous êtes Downvoter, pouvez-vous indiquer votre fratique pour la Downvote



0
votes
string output = string.Join('|', sample.Split(new char[] { ' ', '|' }, StringSplitOptions.RemoveEmptyEntries));

1 commentaires

Cela se scindera sur tous les espaces, pas seulement ceux de chaque côté du tuyau. L'OP aurait dû inclut au moins un exemple d'une sous-chaîne qui inclut un espace intégré, car sa question était "Supprimer les espaces avant et après le tuyau"