JavaScript 中截斷字串


在給定的問題陳述中,我們被要求借助 JavaScript 功能來截斷一個字串。我們可以藉助 JavaScript 的內建函式 slice() 和 substr() 來解決這個問題。

截斷字串是什麼意思?

讓我們瞭解一下截斷字串的含義。

截斷字串是指透過從輸入字串的開頭、結尾或中間部分刪除字元來縮短字串的長度。截斷字串的目的是為了節省一定的空間,或者透過從輸入源中截斷不必要的資訊使其更易於閱讀。

例如,如果我們有一篇長文章的字串,我們可能希望將其縮短到更短的長度,以便它可以輕鬆地適應我們的文章,而不會換行到多行或佔用太多空間。

上述問題的邏輯

讓我們瞭解一下建立上述問題陳述的邏輯

我們必須將給定的輸入字串截斷到函式中給定的特定長度,並在瀏覽器上顯示它。為此,我們將使用 JavaScript 的一些內建函式。

在 JavaScript 中,我們可以使用 slice() 方法和 substr() 方法來截斷字串。slice() 函式返回一個包含原始字串一部分的新字串,並傳遞起始索引和結束索引。而 substring 也類似於 slice() 方法,但此方法指定結束索引,我們指定要提取的子字串的長度。

演算法 - 使用 slice() 方法

步驟 1 - 定義一個名為 str 的字串變數,其中包含長字串。

步驟 2 - 使用上述字串並將此字串傳遞給 slice 方法。起始索引 0 到結束索引 20。此步驟將從第 0 個索引到第 20 個索引截斷給定的字串。

步驟 3 - 在上述步驟中截斷字串後,輸出結果。

示例

// define a string to truncate
const str = "I am writing a string to truncate in Javascript";
const truncatedStr = str.slice(0, 20) + "...";
//After truncating the given string
console.log(truncatedStr);

輸出

I am writing a strin...

演算法 - 使用 substr() 方法

步驟 1 - 定義一個字串資料型別的變數並將其命名為 str,其中包含長字串。

步驟 2 - 使用上述字串並將此字串傳遞給 substr() 函式,它是 JavaScript 的內建函式。起始索引 0 到結束索引 25。此步驟將從第 0 個索引到第 20 個索引截斷給定的字串。

步驟 3 - 在上述步驟中截斷字串後,輸出結果。

示例

// define long string to truncate
const str = "I am using substr() method to truncate in Javascript";
const truncatedStr = str.substr(0, 25) + "...";
//After truncating the given string
console.log(truncatedStr);

輸出

I am using substr() metho...

演算法

步驟 1 - 定義一個名為 str 的字串變數,其中包含長字串。

步驟 2 - 使用上述字串並將此字串傳遞給 replace() 函式,它是 JavaScript 的內建函式。它使用正則表示式將字串截斷到索引 20。

步驟 3 - 在上述步驟中截斷字串後,輸出結果。

示例

//define string to truncate
const str = "This is a long string that needs to be truncated";
const truncatedStr = str.replace(/^(.{20}[^\s]*).*/, "$1...");
//after truncating the given string
console.log(truncatedStr);

輸出

This is a long string...

複雜度

上述定義的方法 slice()、substr() 和 replace 的時間複雜度為 O(n)。這裡 n 是輸入原始字串的大小。這種複雜度的原因是這些方法迭代字串中的字元,並透過複製選定的字元來建立一個新的子字串。

而正則表示式方法的時間複雜度為 O(k),其中 k 是與正則表示式模式匹配的字元數。在第三個程式碼中,正則表示式匹配字串的前 20 個字元。

結論

在此程式碼中,我們使用 JavaScript 中的內建函式實現了不同型別的演算法。我們可以在這裡記下,出於實際目的,對於大多數合理長度的字串,這些方法之間的效能差異可能可以忽略不計。要使用的方法的選擇可以取決於程式碼的可讀性和可維護性等因素。

更新於: 2023年8月23日

3K+ 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.