HTML ドキュメント内の名前のコレクションからスペースとタブを削除しようとしているときに問題が発生しました。
元:
FU BAR
RE BAR NULL
単純に次のように応答する必要があります。
FU BAR RE BAR NULL
私は試みてきました:
[^A-Z]+([[A-Z]{1,}\s]+)[\s\r\n\t]+
それでも、いくつかの散らばったスペースやタブが残ってしまいます。何か提案はありますか?
HTML ドキュメント内の名前のコレクションからスペースとタブを削除しようとしているときに問題が発生しました。
元:
FU BAR
RE BAR NULL
単純に次のように応答する必要があります。
FU BAR RE BAR NULL
私は試みてきました:
[^A-Z]+([[A-Z]{1,}\s]+)[\s\r\n\t]+
それでも、いくつかの散らばったスペースやタブが残ってしまいます。何か提案はありますか?
なぜ使用しないのs/\s+/ /g
ですか?
ああ、それが先頭と末尾のスペースを考慮していないことに気づきました。最初にこの正規表現を介して入力を実行し、次に上記の正規表現を実行することで、これらも処理できます。
s/^\s+|\s+$//
\s+
ただ一つのスペースに置き換えるのはどうですか?(単一行のマッチングに制約されていないと仮定します)。
(Unixツールなど、行ごとの正規表現置換を使用している場合は、先頭と末尾の空白をすべて削除し、内部の空白領域を1つのスペースに置き換え、空の行または空白のみを含む行を削除します。 。)
他の領域の空白を保持しながら、これをHTMLドキュメントの一部に適用しようとしていますか?その場合は、この要件を反映した例で質問を更新してください。
Javaを使用している場合は、
String normalizeSpace = str.replaceAll("\\s+", " ");
クラスStringUtilsのCommons Lang 2.6には、同じ機能を持つメソッドが含まれていnormalizeSpace
ます (制御文字を含み、char <= 32)。