我正在嘗試僅根據字符長度選擇通過 IF 陳述句傳遞的單詞,而忽略符號。
例如,如果我有“你好!”這個詞 我希望 if 陳述句將其識別為 5 個字符的長度。
我想在將符號添加到更新字串時將其保留在單詞中。我只是不想在原始計數中計算符號。我花了一段時間考慮正則運算式選項,但正在努力尋找在這種特殊情況下可行的東西。
下面是部分代碼的示例。(updatedString 在 if 回圈之外宣告)
for (let word in arr) {
if (arr[word].length == 5 || arr[word].length == 6) {
let bold = arr[word].slice(0, 3)
let normal = arr[word].slice(3)
updatedString = `<b>${bold}</b>${normal} `
}
else if {
...
}
}
我最終想要的是區域“arr[word].length == 5”來只計算字符。
為了這個程式,我將假設通過用戶輸入的所有單詞都是在普通新聞或學術文章中使用的單詞,并且不會太晦澀難懂。
任何建議將不勝感激,謝謝。
uj5u.com熱心網友回復:
您可以像這樣使用正則運算式:
text = "hello!"
text.match(/[a-z]/g).join("") // join to return a string without any symbols
如果您需要匹配更多字符,只需更新模式。
在您的特定情況下,它看起來像這樣:
for (let word in arr) {
if (arr[word].match(/[a-z]/g).length == 5 || arr[word].match(/[a-z]/g).length == 6) {
let bold = arr[word].slice(0, 3)
let normal = arr[word].slice(3)
updatedString = `<b>${bold}</b>${normal} `
}else if (/* [...] */) {
// [...]
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/478662.html
標籤:javascript 数组 正则表达式 for循环 if 语句
下一篇:在JS中使用內部HTML切換段落
