国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

在滿足兩個條件后添加換行:字符數(shù)不超過"x"個且以逗號或句號結(jié)尾
P粉478835592
P粉478835592 2024-04-03 09:17:09
0
1
716

我正在開發(fā)一個小型項(xiàng)目。

該項(xiàng)目的目標(biāo)是去除格式(雙空格、數(shù)字和換行符),然后輸出該值,并每隔“x”個字符換行一次,但確保它以逗號或句點(diǎn)結(jié)尾。

例如...如果我將字符限制設(shè)置為 50(在“until”中的“l(fā)”之后),我希望它如下所示。請注意,該示例傾向于使用標(biāo)點(diǎn)符號而不是字符限制,但它不會添加換行符,除非您至少接近字符限制(我添加了額外的逗號以進(jìn)一步解釋):

“敏捷的棕色狐貍跳過了懶狗,

直到那只狗睡著了。”

而不是(字符限制):

“敏捷的棕色狐貍跳過了懶狗,直到

那只狗睡著了?!?/p>

或(標(biāo)點(diǎn)符號):

“快,

棕色狐貍跳過懶狗,

直到那只狗,

睡著了。”

如果您希望我當(dāng)前的代碼(刪除雙空格、數(shù)字和換行符)能夠正常工作...

<script>
function printText() {
    var inputValue = document.getElementById("paste-text").value;

    function editText() {
        inputValue = inputValue.replace(/(\r\n|\n|\r)/g, ' ');
        inputValue = inputValue.replace(/[0-9]/gm, ' ');
        inputValue = inputValue.replace(/(\s\s\s\s)/gm, ' ');
        inputValue = inputValue.replace(/(\s\s)/gm, ' ');
        inputValue = inputValue.trim();
        return inputValue;
    }

    if (inputValue.length > 0) {
        document.getElementById("text-output").innerText = editText();
        document.getElementById("edit-text-output").classList.add("showEdited");
    } 
}
</script>

<section>
    <div class="edit-text-container">
        <div class="edit-text-input">
            <div class="edit-text-paste">
                <h3>Paste Text</h3>
                <div class="edit-text-input-area">
                    <textarea name="paste-text" id="paste-text" rows="6" placeholder="Paste Text Here"></textarea>
                </div>
                <input type="submit" value="Remove Formatting" onclick="printText()">
            </div>
        </div>
        <div id="edit-text-output">
            <h3>Your <i>edited</i> Text</h3>
            <div class="edit-text-output-area">
                <textarea readonly id="text-output" rows="6"></textarea>
            </div>
        </div>
    </div>
</section>

<style>
textarea {
    margin:0;
    width:100%;
    padding:16px; }

#edit-text-output {
    height:0px;
    overflow:hidden;
    opacity:0;
    transition: all 0.5s;}

.showEdited {
    height:185px!important;
    opacity:1!important; }

.edit-text-container {
    justify-content:center;
    text-align:center; }

input[type=submit] {
    margin-top:16px; }
</style>

再說一次,這是一個個人項(xiàng)目,所以不要急于尋求解決方案/如果不可能,也沒有問題。

我嘗試通過 Javascript 執(zhí)行基本的 if/else 語句,但沒有成功。我對 jQuery 和 Javascript 有基本的了解,所以我可能會因?yàn)槿狈χR而受到限制。

在查找解決方案時,我弄清楚了如何在字符限制處創(chuàng)建換行符并在標(biāo)點(diǎn)符號處創(chuàng)建換行符,但由于某種原因,我無法弄清楚如何在標(biāo)點(diǎn)符號處創(chuàng)建換行符最喜歡的功能。

P粉478835592
P粉478835592

全部回復(fù)(1)
P粉210405394

在編寫下一部分代碼之前,請確保您的要求明確

目前,這是內(nèi)部矛盾的。

您的需求描述存在幾個問題:

  1. 我認(rèn)為您希望換行符能夠表達(dá)一個單詞,不是嗎?但你還沒有提到這一點(diǎn)。

  2. 如果單詞長度超過 50 個字符會怎樣?

  3. “確保”語句與可能存在不帶逗號或句點(diǎn)的 50 個字符的可能性相沖突。

您的意思是每行長度不得超過 50 個字符嗎?如果單詞長度超過 50 個字符,則必須將其拆分。 [考慮一下如果 50 個字符的單詞就在逗號之前,您希望發(fā)生什么:您希望逗號換行還是單詞拆分,或者將行延長到 51 個字符。如果您想要最后一個,則必須重新措辭此規(guī)則。]

我建議像這樣列出要求:

  1. 從輸入中的所有文本開始,并以空字符串作為輸出。
  2. 按如下方式構(gòu)建一行:查找輸入的前 50 個字符內(nèi)的最后一個空格
  3. 如果有這樣的空格:第一段文本中是否有逗號或句號?
    • 如果是這樣,請找到最后一個逗號或句號并截斷那里的文本。
    • 否則就砍掉最后一個空格。
  4. 如果沒有這樣的空格:您有一個單詞,或單詞 標(biāo)點(diǎn)符號,那就太長了。 (在此指定您想要執(zhí)行的操作:例如截斷單詞、允許線條延伸等)
  5. 經(jīng)過步驟 2,3 和 4,您將形成一行文本。將其添加到輸出中并從輸入中刪除它。
  6. 重復(fù)步驟 2-5,直至全部完成。

如果上述內(nèi)容是您想要完成的,那么它就是編寫代碼的良好基礎(chǔ)

關(guān)鍵是要清楚自己想要什么。如果您能夠明確地表達(dá)這一點(diǎn),那么您通??梢暂p松地對其進(jìn)行編碼。問題在于,在非編程世界中,大多數(shù)人的描述都含糊不清,直到我們開始編寫代碼時我們才意識到這一點(diǎn)。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板