作者gn00618777 (非常念旧)
看板Web_Design
标题Re: [问题] javascript 字串处理
时间Sun Jan 18 22:44:04 2015
※ 引述《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://webptt.com/cn.aspx?n=bbs/Web_Design/M.1421592248.A.E63.html
※ 编辑: gn00618777 (118.169.66.230), 01/18/2015 22:54:03
1F:推 LPH66: 不要加引号, 那会被当成 regexp 的一部份 01/18 22:51
2F:→ LPH66: 我的推文里也没有引号就是这样 01/18 22:52
3F:→ LPH66: javascript 的 regexp 物件是由 / / 分隔的 01/18 22:52
4F:推 LPH66: 一个"字串"变数? 有简单的程式吗? 01/18 23:06
5F:→ gn00618777: 我有一个 text,假设输入 123,这个123字串,我会放至 01/18 23:07
6F:推 LPH66: 啊, 我看懂你的问题了...这样的话, 显式建立 regexp 物件 01/18 23:13
7F:→ LPH66: st.match(new RegExp("\\b"+stringvar+"\\b")) 01/18 23:14
8F:→ LPH66: 这样建立 regexp 物件时就不用 / / 了, 但是因为是给字串 01/18 23:14
9F:→ LPH66: 所以 \ 要写两次 01/18 23:14
10F:→ LPH66: 也因为给字串所以就能够放变数进去了 01/18 23:15
11F:→ gn00618777: = =d ,L大真强..我刚打好范例的说 ,我先试看看 01/18 23:25
12F:→ gn00618777: 她成功了..只是我不懂L大说的..RegExp,我会再研究 01/18 23:33
13F:→ gn00618777: 谢谢。 01/18 23:33
14F:推 rarex: RegExp就是正规表示法的物件 可以让你用变数拼凑你的正规式 01/18 23:55
15F:→ rarex: /test/就等同於new RegExp('test')这样 01/18 23:56
17F:→ gn00618777: 谢谢。 01/19 09:19