Re: [問題] javascript 字串處理

看板Web_Design作者 (非常念舊)時間9年前 (2015/01/18 22:44), 9年前編輯推噓4(4013)
留言17則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《gn00618777 (非常念舊)》之銘言: : 版友好 : string1="test1" : string1.match("test") 回傳 test,因為test1包含test : 可是我的用意是希望她回傳 null,因為我搜尋是要搜尋 test 而已非 test1 : 而這類的問題,linux 的 shell 可以用 ^(字首)$(字尾)來解決,請問js : 要怎麼解決呢? 謝謝。 HI 我問題還是沒解決... var st="test1 test"; alert(st.match(/\b"test"\b/)) ---> null alert(st.match(/\btest\b/)) ---> test (成功) 問題來了,裡面似乎是要 test 而不是 "test",但我程式裡的test就是一個"字串" 變數,所以得到的變數值自然就會帶""雙引號,這樣加入//b 變數 /b/就會失敗.. 謝謝 >"< 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.66.230 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1421592248.A.E63.html ※ 編輯: gn00618777 (118.169.66.230), 01/18/2015 22:54:03

01/18 22:51, , 1F
不要加引號, 那會被當成 regexp 的一部份
01/18 22:51, 1F

01/18 22:52, , 2F
我的推文裡也沒有引號就是這樣
01/18 22:52, 2F

01/18 22:52, , 3F
javascript 的 regexp 物件是由 / / 分隔的
01/18 22:52, 3F

01/18 23:06, , 4F
一個"字串"變數? 有簡單的程式嗎?
01/18 23:06, 4F

01/18 23:07, , 5F
我有一個 text,假設輸入 123,這個123字串,我會放至
01/18 23:07, 5F

01/18 23:13, , 6F
啊, 我看懂你的問題了...這樣的話, 顯式建立 regexp 物件
01/18 23:13, 6F

01/18 23:14, , 7F
st.match(new RegExp("\\b"+stringvar+"\\b"))
01/18 23:14, 7F

01/18 23:14, , 8F
這樣建立 regexp 物件時就不用 / / 了, 但是因為是給字串
01/18 23:14, 8F

01/18 23:14, , 9F
所以 \ 要寫兩次
01/18 23:14, 9F

01/18 23:15, , 10F
也因為給字串所以就能夠放變數進去了
01/18 23:15, 10F

01/18 23:25, , 11F
= =d ,L大真強..我剛打好範例的說 ,我先試看看
01/18 23:25, 11F

01/18 23:33, , 12F
她成功了..只是我不懂L大說的..RegExp,我會再研究
01/18 23:33, 12F

01/18 23:33, , 13F
謝謝。
01/18 23:33, 13F

01/18 23:55, , 14F
RegExp就是正規表示法的物件 可以讓你用變數拼湊你的正規式
01/18 23:55, 14F

01/18 23:56, , 15F
/test/就等同於new RegExp('test')這樣
01/18 23:56, 15F

01/19 09:18, , 16F
http://ppt.cc/9bJj 這邊有不錯的解釋
01/19 09:18, 16F

01/19 09:19, , 17F
謝謝。
01/19 09:19, 17F
文章代碼(AID): #1KkyQuvZ (Web_Design)
文章代碼(AID): #1KkyQuvZ (Web_Design)