[問題] 請問如何比對第幾個字元前面的文字

看板Perl作者 (gecer)時間10年前 (2014/05/02 21:09), 10年前編輯推噓-1(1217)
留言20則, 7人參與, 最新討論串1/1
譬如要判斷字串第8個字元前面的文字不為a 要怎麼寫 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.233.239 ※ 文章網址: http://www.ptt.cc/bbs/Perl/M.1399036159.A.EB1.html

05/02 21:12, , 1F
那不就是前7個不能為 a XD
05/02 21:12, 1F

05/02 21:14, , 2F
print if /^[^a]{7}/
05/02 21:14, 2F
不是 我的意思是第8個前面的幾個字元不為a(並非從開頭開始) ※ 編輯: gecer (111.255.233.239), 05/03/2014 08:42:08

05/03 10:50, , 3F
那跟判斷第七個字元不為 a 有何不同?
05/03 10:50, 3F

05/03 10:52, , 4F
print if "a" ne substr $str, 6, 1;
05/03 10:52, 4F

05/03 11:46, , 5F
還真的看不懂在問甚麼 語氣還很差 剛好讓我測試2有沒有壞
05/03 11:46, 5F

05/03 11:54, , 6F
我想是問 前面七個字元 裡面不包含a 怎麼寫
05/03 11:54, 6F

05/03 15:01, , 7F
寫個輸入輸出範例吧 這樣問不確定性太多了
05/03 15:01, 7F
假設要 123456 abc 第七個字元為" " 輸出 若是 1234567abc 第七個字元不為" "則不輸出 ※ 編輯: gecer (111.255.233.239), 05/03/2014 17:20:58

05/04 01:25, , 8F
還是看不懂你要啥阿...
05/04 01:25, 8F

05/04 04:09, , 9F
我看懂咧 XD 他是說第八個字元前面的那一個,也就是第七
05/04 04:09, 9F

05/04 04:10, , 10F
用 /^.{6}[^ ]./ 吧
05/04 04:10, 10F

05/04 11:07, , 11F
因為我的理解 "第8個字元前面的文字" -> 不就是前7個 XDD
05/04 11:07, 11F

05/04 11:07, , 12F
我的意思是第8個前面的幾個字元不為a(並非從開頭開始)
05/04 11:07, 12F

05/04 11:07, , 13F
不從頭不然要從哪裡開始 XD 所以這邊我混淆惹 XD
05/04 11:07, 13F

05/04 23:36, , 14F
該不會是說"第幾個字"這件事需要是一個變數吧?
05/04 23:36, 14F

05/04 23:37, , 15F
類似這樣 $n=8-2; /^.{$n}[^ ]./;
05/04 23:37, 15F

05/05 06:22, , 16F
....... 顯然本版只愛 re, 嫌棄 substr-based solution
05/05 06:22, 16F

05/05 13:56, , 17F
樓上誤會了, 是因為根據 perl 精神 TIMTOWTDI, 你已經提
05/05 13:56, 17F

05/05 13:56, , 18F
出來 substr 解法, 我們只好提別的.... XD
05/05 13:56, 18F

05/06 22:37, , 19F
誤會大惹,可是寫 re 看起來好像就比較潮(誤
05/06 22:37, 19F

06/01 09:48, , 20F
問題問的不清不楚。。看完之後會產生誤解
06/01 09:48, 20F
文章代碼(AID): #1JOvZ_wn (Perl)
文章代碼(AID): #1JOvZ_wn (Perl)