[問題] 字串中必要但非目標的內容

作者: Peruheru (還在想)   2014-09-04 12:02:43
/* 聽說註明使用的語言、環境
* 問題有可能較容易被解決...
*/
VS2010使用C#
各位好
我有如下的字串
...(前略)...
606 $2lc$aFrench fiction$xTranslations into Vietnamese.
700 1$aRoy$bClaude
702 1$a? Thi? Minh Ngue?t(trans)
801 0$atw$bKML$c20140020$gAACR2$m4
805 $aA1$bMUL$pB$zMUL(VN)$d746.434041$eL735$r478$cKML4881117
...(後略)...
?字元其實是越南文字顯示不出來
然後我想做一件事
找到700開頭的行,取出介於$a和$b中間的字(但不確定每次都會有$b,只有$a一定有)
經過程式轉換成代碼以後,存入805開頭,$e所帶著的那一串字
但$e的位置不固定,也可能根本沒有$e要自己補
不過那都是之後的事
目前是直接使用.net字串的startwith和indexof等方法分很多步撈
有想改用正規表示
試了一下
目前用 /700.{0,}\$a.{0,}\$/
可以抓出 700 1$aRoy$ 的內容
但其實我只需要 Roy 這個字而已,其他都不需要,只是搜尋的必要條件
正規表示可以做到某些東西純粹是條件,某些東西才是真正要抓出來的結果嗎?
謝謝各位
作者: LPH66 (-6.2598534e+18f)   2014-09-04 12:57:00
用 () 括起你要的部份, 然後程式應該會有幾個 API 可以抓出這種被括起來的地方 (它會寫像 sub-expression 之類的)至於這個 () 根據狀況有可能需要用 \( \) 你要查一下說明

Links booklink

Contact Us: admin [ a t ] ucptt.com