0

HTML ドキュメント内の名前のコレクションからスペースとタブを削除しようとしているときに問題が発生しました。

元:

        FU BAR       
RE BAR          NULL

単純に次のように応答する必要があります。

FU BAR RE BAR NULL

私は試みてきました:

[^A-Z]+([[A-Z]{1,}\s]+)[\s\r\n\t]+

それでも、いくつかの散らばったスペースやタブが残ってしまいます。何か提案はありますか?

4

3 に答える 3

1

なぜ使用しないのs/\s+/ /gですか?

ああ、それが先頭と末尾のスペースを考慮していないことに気づきました。最初にこの正規表現を介して入力を実行し、次に上記の正規表現を実行することで、これらも処理できます。

s/^\s+|\s+$//
于 2012-04-24T21:52:11.800 に答える
1

\s+ただ一つのスペースに置き換えるのはどうですか?(単一行のマッチングに制約されていないと仮定します)。

(Unixツールなど、行ごとの正規表現置換を使用している場合は、先頭と末尾の空白をすべて削除し、内部の空白領域を1つのスペースに置き換え、空の行または空白のみを含む行を削除します。 。)

他の領域の空白を保持しながら、これをHTMLドキュメントの一部に適用しようとしていますか?その場合は、この要件を反映した例で質問を更新してください。

于 2012-04-24T21:52:20.153 に答える
0

Javaを使用している場合は、

String normalizeSpace = str.replaceAll("\\s+", " ");

クラスStringUtilsのCommons Lang 2.6には、同じ機能を持つメソッドが含まれていnormalizeSpaceます (制御文字を含み、char <= 32)。

于 2012-04-24T22:08:38.740 に答える