看板 C_Sharp 關於我們 聯絡資訊
※ 引述《weisor (無所事事)》之銘言: : 不知道有沒有比較好的做法? : 如果 "ABC" 換成是一個集合,例如 @"(foo|bar)", 可以 你也打出來了啊 ^^ 就是( ) group的construct 嫌麻煩的話你也可以用字串的方式替換就好了 @"....." + SomeRegexPattern + "......" : 因為要找的 substring 可能是一個 pattern, : 而 indexof() 是 exact match, : 目前想到的做法是用 regular expression 去找這個 pattern 在字串中出現的位置, : 再用 substring 去切。不知道是不是有更好的做法? 那就用Regex.Split()一行就好了 用你給的pattern去切 當然..效率上會差一點囉... 最好還是用Regex.Match就好 但記得用lazy matching的語法 (C#預設都是greedy matching) 其實以上都是比較簡單的寫法... 事實上是很沒效率的 我假設 string a = "ABDFWREGWABCSDFEACBABABCCDBD"; 比較好的寫法如下 use lazy matching + postive lookaround Regex myreg = new Regex(@"\w*?(?=ABC)"); 其實只有短短的一行相當簡單 但是對很多人來說可能會有點看不懂 BTW 這樣出來的結果就是你要的 詳細我晚點解釋..正要出門 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.5.154
huggie:請問一下, string 的 library reference 哪邊找? 01/29 19:17
megaman1206:樓上 http://0rz.tw/c52kQ 01/29 20:42
huggie:謝謝! 01/29 22:11
weisor:感謝! 原來有 lazy matching 的用法 ^^ 01/30 03:23
deuter:剛看到一個跟 Regular Expression 的工具推薦 01/30 05:17
deuter:http://tinyurl.com/36nn7z 01/30 05:18