作者dn42b5 (全世界的昵称都被取光了)
看板C_Sharp
标题[问题] 修改文字档txt
时间Fri Oct 4 11:34:30 2019
请教一下我有个txt档
想一次修改大批资料的日期
内容如下
A001 3747 王大文 2303 20190924
A002 3747 王大明 39482 20190924
希望修改的方式为日期前面加‘123’并且改成
月日年
修改後
A001 3747 王大文 2303 12309242019
A002 5628 王大明 39482 12309242019
因为文字档内的空格都有规定好
请问可以不改变文字档的格式修改吗
我现在只会读全部的档
String txtdata= system.io.file.readalltext( “txt.txt”);
请问如果要修改的话怎麽做
谢谢各位大大
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.219.141.41 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1570160072.A.52F.html
1F:→ kuangyue: 感觉用excel就可以完成了? 10/04 11:36
2F:→ feobzq: 要先搞懂格式空格的规则吧 10/04 14:41
3F:→ dn42b5: 那请问如果知道空白的规则,要如何修改呢? 10/04 16:33
4F:→ kobe8112: 逐行读档→切割栏位→找到目标储存格→修改值→存档 10/04 17:06
6F:→ samchung: 刚刚又做了点修改,现在若 10/05 08:37
7F:→ samchung: 1.资料内容刚好出现8位数的数值(类似日期格式)不会转换 10/05 08:37
8F:→ samchung: 2.最後一笔资料结尾不管有无断行符号,都可被正确转换 10/05 08:37
9F:→ dn42b5: 太感谢了我先来试试看 10/05 13:00
10F:→ dn42b5: 结果可以成功谢谢,那在请问一下,我刚刚在想如果我用一 10/05 14:39
11F:→ dn42b5: 个text box 输入日期,是不是也可用这个方法把文字档中的 10/05 14:39
12F:→ dn42b5: 日期替换成我想要的日期 10/05 14:39
13F:→ samchung: 可以,但要注意这会将所有资料都替换为同一个输入字串 10/05 15:46
14F:→ samchung: 我更新在范例里了,请参考执行结果 10/05 15:47
15F:→ dn42b5: @samchung 请问一下是如何排除资料中有相同的8位数值类似 10/05 17:51
16F:→ dn42b5: 日期,原理是什麽呢?刚刚试完都可以顺利完成太厉害了 10/05 17:51
17F:→ samchung: 关键在正规表达式用来比对的 pattern 结尾部份 10/05 19:43
18F:→ samchung: (?'END'[\s]{0,1})$ 补充说明如下 10/05 19:44
19F:→ samchung: 因为有设定 RegexOptions.Multiline 10/05 19:44
20F:→ samchung: 所以在每一行比对时可用 ^ 表示行开头,$ 表示行结尾 10/05 19:44
21F:→ samchung: () 表示将符合里面所写条件的字串群组化起来之後使用 10/05 19:44
22F:→ samchung: ?'END' 表示给这个群组命名为 END 之後可 ${END} 取用 10/05 19:44
23F:→ samchung: [\s] 表示要出现 \n \r \t \f 或空白任意 "一个" 10/05 19:44
24F:→ samchung: {0,1} 表示前面那个 [\s] 连续出现最少 0 个,最多 1 个 10/05 19:44
25F:→ samchung: 好啦,将上面整段放在 pattern 结尾表示 10/05 19:45
26F:→ samchung: 日期的8码数字必须出现在每行的结尾才符合条件, 10/05 19:45
27F:→ samchung: 若是每行非结尾处的8码数字就不符合条件 10/05 19:45
28F:→ dn42b5: @samchung 原来是这样,谢谢大大的解说学习到了,获益匪 10/05 20:18
29F:→ dn42b5: 浅! 10/05 20:18
30F:→ kobe8112: 正规表达法向来是神的领域,每次看都跟天书一样QQ 10/05 22:01
31F:→ dn42b5: @samchung 请问一个衍生的问题~ 10/09 12:47
32F:→ dn42b5: 被取代的日期後可以往前移4个空格吗? 10/09 12:47