これは、既存のフォーマット(だけでなく、缶を保存する必要があります予想された)。
[^\s\r\n]
または類似で\s
に置き換え、非改行空白を使用します。
だけで、必要に応じてお好みの空白で置き換え、その後、表現のどちらかの側に単一の空白を消費します。
これは、テキストで囲まれた項目に対して行われます。
が空の文字列に置き換えた文字列の先頭や末尾の項目について
A<sp><item>B => A<sp>B
A<sp><item>B<sp> => A<sp>B
A<item><sp>B => A<sp>B
A<item>B => A<sp>B
。
これは( `@" [試し正規表現@"(^)?\s?(?:\b(?:AND|OR)\b|[()""])+\s?($)?"
拡張
(^)? # (1)
\s?
(?:
\b
(?: AND | OR)
\b
| [()"]
)+
\s?
($)? # (2)
C#
string sTrg = @"""Over ear headphones""OR""on ear headphones""";
Console.WriteLine("{0}", sTrg);
Regex rX = new Regex(@"(^)?\s?(?:\b(?:AND|OR)\b|[()""])+\s?($)?");
Console.WriteLine("{0}", rX.Replace(sTrg,
delegate (Match m) {
if (m.Groups[1].Success || m.Groups[2].Success)
return "";
return " ";
}));
出力
"Over ear headphones"OR"on ear headphones"
Over ear headphones on ear headphones
出典
2017-06-18 23:31:47
sln
である:(\ sの*の\ bの? AND | OR)\ b \ s * | [() "" \ s])+ "'](http://regexstorm.net/tester?p =%28%3f%3a%5cs *%5cb%28and%7cor%29%5cb%5cs *%7c%5b%28%29%22%22%5cs%5d%29%2b&i = Over + ear + headphones %22OR%22on + ear + headphones%0d%0aOver + ear + headphones +%22OR%22 + on + ear + headphones&r = +)スペースで置き換えてください。 –