亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我想做的事情是歷遍文本,把文本中出現的所有單詞以只出現一次的形式打印出來,但好像沒達到效果

我想做的事情是歷遍文本,把文本中出現的所有單詞以只出現一次的形式打印出來,但好像沒達到效果

慕萊塢森 2023-04-08 14:10:02
以下是我按照《javascript語言精粹》一書中的代碼寫的demo,我想做的事情是歷遍文本,把文本中出現的所有單詞以只出現一次的形式打印出來(我不知道書中說的“doubled_words”是不是這個意思,不管是不是了,我現在想現實我說的這個結果 ),但是好像沒達到我的要求,請教了。<!DOCTYPE HTML><html lang="en-US"><head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #test1,#test2{width:500px;height:200px;border:1px solid #00f;margin-bottom:20px;} </style> <script type="text/javascript"> window.onload = function () { var test1 = document.getElementById('test1'),     test2 = document.getElementById('test2'),     textSource = test1.innerHTML,     textEscape; var textRegExp = /([A-Za-z\u00C0-\u1FFF\u2800-\uFFFD'\-]+)\s+\1/g;//定義一個重復的單詞 textEscape = textSource.replace(textRegExp,"$1"); test2.innerHTML = textEscape; } </script></head><body> <div id="test1">activity Sizzle It! is is the expert in producing sizzle reels that capture your message and captivate your audience — all with creativity and style.  expert sizzle reels that capture</div> <div id="test2"></div></body></html>注:我要的效果是:<div id="test2">activity Sizzle It! is the expert in producing reels that capture your message and captivate audience — all with creativity style.</div>
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

不知道你說的“沒達到要求”是指什么,不過這個正則,確實是去除重復單詞了。

var textRegExp = /([A-Za-z\u00C0-\u1FFF\u2800-\uFFFD'\-]+)\s+\1/g;//定義一個重復的單詞

文字匹配后的+,會有點錯誤,可能導致兩個相鄰的不同單詞,前一個單詞的結尾和后一個單詞的開頭的相同字母被刪除。
改成

/([A-Za-z\u00C0-\u1FFF\u2800-\uFFFD'\-]{2,})\s+\1/g

會好點


查看完整回答
反對 回復 2023-04-11
  • 1 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號