台灣最大程式設計社群網站
線上人數
1294
 
會員總數:239370
討論主題:185707
歡迎您免費加入會員
討論區列表 >> C# >> C# streamreader 至陣列後做regex.replace
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
C# streamreader 至陣列後做regex.replace
價值 : 100 QP  點閱數:143 回應數:6

樓主

陳大黑
門外漢
0 3
56 3
發送站內信

各位好
小弟目前遇到一個問題
就是我要將txt檔裡面的文字,替換成另一個txt檔的文字

例如

a.txt = item1 、item2、item3、item4
b.txt = mike 、 duke 、john 、pie、 snow ...

我要做的就是將 a.txt裡面的 item1 替換成 mike 、 item2替換成duke ...依此類推
替換完之後在寫入至c.txt
而txt裡面的數量目前是未知

所以我目前先用list<string> 做了兩個陣列把這些字串都存進去


for (i = 0; i < atxt.Count; i++) //主要是以item的數量為主,替換完就不用在執行
{

string ctxt = Regex.Replace(atxt[i], "item" + i, btxt[i]);

textBox1.Text += ctxt ; //最後輸出到textbox1 來看是否轉成功
}


執行結果是a.txt的內容全部輸出到textbox1上,但item都沒有替換成功.....

不知道是否有人可幫忙呢?

搜尋相關Tags的文章: [ regex.replace ] ,
本篇文章發表於2017-04-07 09:54
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

春天
檢舉此回應
你試試這樣

本篇文章回覆於2017-04-07 10:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

春天
檢舉此回應
抱歉,沒看到數量是未知,試試這個版本

本篇文章回覆於2017-04-07 10:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

春天
檢舉此回應
迴圈內改一下

本篇文章回覆於2017-04-07 10:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

陳大黑
檢舉此回應
抱歉我露說了一項......

我的a.txt 陣列裡面 可能是

a[0] = ^LH0,0^FS
a[1] = ^FO 320,220 ^AEN, 56,30 ^FDITEM0 ^FS
a[2] = ^XZ

也就是說不是每個陣列成員都一定有item這個要被替代的字串
本篇文章回覆於2017-04-07 18:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

春天
檢舉此回應
string[] splitString = new string[] { "、" };
把、替換成你a.txt陣列裡用來區分每個Item的字元就可以,以你的例子應該就是
string[] splitString = new string[] { "," };
本篇文章回覆於2017-04-10 09:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

Sdany
捐贈 VP 給 Sdany 檢舉此回應

本篇文章回覆於2017-04-12 22:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.