1

入力 :Test 1 | Test 2 | Test 3 | Test 4 ここで char|は区切り記号のようなものです。

誰かが正規表現またはこのような文字列を取得する簡単な方法を教えてくれませんか? Testそして、それはとの間のスペースに影響を与えるべきではありません3

出力はTest 1|Test 2|Test 3|Test 4

スペースは1つだけではありません。スペースは複数ある場合があります。

4

3 に答える 3

0
string text = "Test 1 | Test 2 | Test 3 | Test 4";

text = text.Replace(" | ", "|").Replace(" |", "|").Replace("| ", "|");
于 2012-07-12T09:24:04.427 に答える
0

これを正規表現として使用して、パイプの前後の複数のスペースに一致させることができます

string pattern = @"\s+\u007C\s+";
string search = "Test 1 | Test 2 | Test 3 | Test 4";
string result = Regex.Replace(search, pattern, "|");

\s+
\u007C垂直パイプに一致する1つ以上の空白に一致する|-パイプは正規表現用に予約された文字であるため、Unicode規則を使用するか、パイプをエスケープする必要がある\ため、パターンは次のようになります

string pattern = @"\s+\|\s+";

また、前後にスペースのないパイプがある混合ケースを考慮したい場合は、パターンを次のように変更できます。

string pattern = @"\s*\|\s*";

\s*ゼロ以上の空白を意味します

于 2012-07-12T09:21:39.170 に答える