3

あるファイルから新しい空のファイルにコピーされるコード ブロックがあるとします。元のファイルのコードは本来あるべきようにインデントされていますが、新しい空白のファイルに配置するときにコードのインデントを解除したいと考えています。ただし、基本インデントまでインデントを解除したいだけです。つまり、すべてのインデントを削除したくありません。わかる?

たとえば、新しく作成したファイルにコード ブロックを貼り付けると、次のようになります。

        <h1>Title</h1>
        <div>
            <p>This is a nested paragraph</p>
            <ul>
                <li>Even deeper!</li>
            </lu>
        </div>

上記のテキストを取得してこれに変換する、正規表現および/またはPythonを使用した関数を作成したいと考えています。

<h1>Title</h1>
<div>
    <p>This is a nested paragraph</p>
    <ul>
        <li>Even deeper!</li>
    </lu>
</div>

唯一の違いは、リードのインデントです。

どんなアイデアや助けも大歓迎です!

4

4 に答える 4

5

モジュールのdedent関数を見てください: http://docs.python.org/library/textwrap.html#textwrap.dedenttextwrap

于 2012-07-17T21:06:58.657 に答える
2

入力が常に指定した形式である場合は、最初の行に含まれるタブの数を確認し、その行と後続の行からその数のタブを削除できます。

于 2012-07-17T21:05:36.007 に答える
1

インデントするテキストを選択し、 を押します

1) ctrl + [各行の先頭から 1 つのタブ スペースを削除し、

2) ctrl + ]を押して、各行の先頭に 1 つのタブを追加します。

すべてのバージョンでテストされているわけではありませんが、崇高なテキスト 2 で動作します。

于 2014-03-14T08:22:55.217 に答える
0

emacsを使用している場合は、「ボックス モード」コマンドを使用してインデントを削除できます。ボックスを定義するファイルの領域にマークとカーソルを設定し、ctrl-x rk を入力してボックスを削除します。魅力のように機能します。

于 2012-07-17T21:09:56.237 に答える