ホームページ  >  に質問  >  本文

2 つの条件 (「x」文字以内、カンマまたはピリオドで終わる) が満たされた後に改行を追加します。

私は小さなプロジェクトを開発しています。

このプロジェクトの目標は、書式設定 (二重スペース、数字、改行) を取り除き、「x」文字ごとに改行を入れて値を出力することですが、必ずカンマまたはピリオドで終わるようにしてください。

たとえば...文字数制限を 50 文字 (「until」の「l」以降) に設定すると、次のようになります。この例では文字数制限よりも句読点を優先していますが、少なくとも文字数制限に近づいていない限り、改行は追加されないことに注意してください (さらに詳しく説明するためにカンマを追加しました)。

「機敏な茶色のキツネが怠惰な犬を飛び越えました。

犬が眠るまで。 「

(文字数制限) の代わりに:

「敏捷なキツネは

まで怠惰な犬を飛び越えました

犬は眠りに落ちました。 「

または (句読点):

###"素早い、###
茶色のキツネが怠惰な犬を飛び越えます。

あの犬が現れるまでは、

眠ってしまった。 「

現在のコード (二重スペース、数字、改行を削除) を機能させたい場合は...

リーリー
繰り返しますが、これは個人的なプロジェクトなので、解決策を急ぐ必要はありません/それが不可能であっても問題ありません。

JavaScript 経由で基本的な if/else ステートメントを実行しようとしましたが、成功しませんでした。私は jQuery と JavaScript の基本を理解しているので、知識の不足によって制限される可能性があります。

解決策を探していると、文字数制限で改行する方法と、句読点で改行する方法は分かったのですが、なぜか、 のように句読点で改行する方法が分かりませんでした。ほとんどの機能。

P粉478835592P粉478835592179日前295

全員に返信(1)返信します

  • P粉210405394

    P粉2104053942024-04-04 07:32:07

    コードの次のセクションを記述する前に、要件が明確であることを確認してください

    現時点では、これは内部的に矛盾しています。

    あなたの要求の説明にはいくつかの問題があります:

    1. 改行で単語を表現したいと思いませんか?しかし、あなたはまだこれについて言及していません。

    2. 単語が 50 文字を超える場合はどうなりますか?

    3. 「ensure」ステートメントは、カンマまたはピリオドなしで 50 文字が存在する可能性と競合します。

    各行は 50 文字以下でなければならないということですか?単語が 50 文字を超える場合は、単語を分割する必要があります。 [50 文字の単語がカンマの直前に来た場合にどうしたいかを考えてください。カンマを折り返すか、単語を分割するか、あるいは行を 51 文字まで拡張するか。最後のルールが必要な場合は、このルールを書き直す必要があります。 ]

    次のように要件をリストすることをお勧めします:

    1. 入力内のすべてのテキストと出力としての空の文字列から開始します。
    2. 次のように行を作成します: 入力の最初の 50 文字内の最後のスペースを検索します
    3. 次のようなスペースがある場合: 最初のテキストにカンマまたはピリオドはありますか?
      • その場合は、最後のカンマまたはピリオドを見つけて、そこでテキストを切り詰めます。
      • それ以外の場合は、最後のスペースを切り取ってください。
    4. このようにスペースがない場合: 単語または単語の句読点がある場合、それは長すぎます。 (ここで実行したいことを指定します: 単語を切り詰める、行を拡張するなど)
    5. 手順 2、3、4 を完了すると、テキスト行が形成されます。それを出力に追加し、入力から削除します。
    6. すべてが完了するまで手順 2 ~ 5 を繰り返します。

    上記が 達成したいことである場合、それはコードを記述するための良い基礎となります

    重要なのは、自分が何を望んでいるのかを知ることです。これを

    明示的に 表現できれば、通常は簡単にコーディングできます。問題は、プログラミング以外の世界では、ほとんどの人の説明があいまいで、コードを書き始めるまでそれに気づかないことです。

    返事
    0
  • キャンセル返事