首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在文本文件中的特定点替换数字

在文本文件中的特定点替换数字
EN

Stack Overflow用户
提问于 2012-02-01 18:03:17
回答 2查看 323关注 0票数 0

我有一个包含以下内容的文本文件(内容变量为>10 MB),我希望将副本计数设置/替换为动态编号和。我也曾使用sed utiliy做过同样的操作,但它会显示comand提示。有没有使用C#/正则表达式的方法?

如何将已更改的模式写入文件中?

%-12345X@PJL职务名称= "Microsoft Word -Values.docx“@PJL OKIAUXJOBINFO DATA="ComputerName=USER-PC”@PJL OKIAUXJOBINFO DATA="UserName=user“@PJL OKIAUXJOBINFO DATA="PortName=PORTCUSTOM”@PJL OKIAUXJOBINFO DATA="ReceptionTime=22:04:09 2012/02/01“@PJL OKIAUXJOBINFO DATA="DocumentName=Microsoft Word - LDAPValues.docx”PJL OKIAUXJOBINFO DATA="MultiPage=1“@PJL OKIAUXJOBINFO DATA="ApplicationName=Microsoft Office”@PJL OKIAUXJOBINFO DATA=“ApplicationName=Microsoft”@PJL注释操作系统版本: Windows NT 6.1 Build 7600 @PJL注释产品名称: OKI PCL5c Printer @PJL注释设备名称: OKI @PJL注释版本: 1.0.5 @PJL注释构建日期: 2010/03/30 (Tue) 16:17:01 @PJL SET OKIPAPERSIZECHECK=ENABLE @PJL SET OKICUPAPERSIZECHECK=ENABLE @PJL SET MANUALFEED=OFF @PJL SET MANUALFEED=OFF @PJL SET OKIXDIMENSIONMILLIMETER=216 @PJL SET OKIYDIMENSIONMILLIMETER=280 @PJL SET MEDIASRCMANUAL=2 @PJL SET MEDIASRCINTRAY1=4 @PJL SET MEDIASRCINTRAY1=4 @PJL SET MEDIASRCINTRAY3=5 @PJL SET MEDIASRCINTRAY3=5 @PJL SET MEDIASRCINTRAY4=6 @PJL SET MEDIASRCINTRAY5=20 @PJL SET MEDIASRCINTRAY7=22 @PJL SET @PJL SET OKICUPAPERSIZECHECK=ENABLE@PJL SET OKICUPAPERSIZECHECK=ENABLE@PJL SET MANUALFEED=OFF@PJL SET OKIXDIMENSIONMILLIMETER=216@PJL SET OKIYDIMENSIONMILLIMETER=280@PJL SET MEDIASRCMANUAL=2@PJL SET MEDIASRCINTRAY1=4@PJL SET MEDIASRCINTRAY3=5@PJL SET MEDIASRCINTRAY5=20@PJL SET MEDIASRCINTRAY6=21 @PJL SET@PJL SET@PJL SET PJL/PJL MEDIASRCINTRAY7=22@PJL SET@PJL QTY=1

EN

回答 2

Stack Overflow用户

发布于 2012-02-01 18:09:34

这会找到"@PJL SET COPIES=“之后的数字。

代码语言:javascript
复制
(?<=@PJL\ SET\ COPIES=)\d+

像这样使用它

代码语言:javascript
复制
Regex.Replace(text, @"(?<=@PJL\ SET\ COPIES=)\d+", newCount.ToString());   

我使用了Regex查找模式

代码语言:javascript
复制
(?<=prefix)find
票数 3
EN

Stack Overflow用户

发布于 2012-02-01 18:09:20

看上去

代码语言:javascript
复制
Regex.Replace(
    input, 
    @"COPIES=\d+", 
    string.Format("COPIES={0}", number), 
    RegexOptions.Multiline);

会起作用的。

http://msdn.microsoft.com/en-us/library/taz3ak2f.aspx

将其写回文件中如下所示:

代码语言:javascript
复制
string input = File.ReadAllText("filename.txt");
string output = Regex.Replace(
    input, 
    @"COPIES=\d+", 
    string.Format("COPIES={0}", number), 
    RegexOptions.Multiline);
File.WriteAllText("filename.txt", output);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9100855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档