编辑: 我已将主题名称更改为(希望)更准确地反映我的请求。我希望包括在下面的照片中圈出的两个变量,以免更改超出上述范围的任何内容。 https://i.stack.imgur.com/fXCtY.png
谢谢
Num {
Desc("AddlPointRadius (Enter 1 in NOTES To Unhide \"MixPointMod\")")
Name("AddlPointRadius")
Hide(0)
HideVar("ToggleTpRvsTpSqEval")
HideUnused(0)
ClrHide(1)
Req(0)
Uom("")
MPTko("Pg")
QtyTxt(0)
Notes("")
ProjDflt(0)
LCol(0)
LColTot(0)
Dec(3)
Dflt(".3")
Max("5.000")
Min("0.000")
}
(原始) 我有一个非常大的文本文件,正在尝试进行大量查找和替换。我的问题是,我要替换的值都是随机的。有什么方法可以找到所有随机值并将其替换为单个值?我上传了一张我要替换的值的图片。我想将所有随机值都替换为.13
这是一张带有值示例的图片
https://i.stack.imgur.com/flS18.png
非常感谢您抽出宝贵的时间。
答案 0 :(得分:1)
Num\s*\{[^}]+Name\("AddlPointRadius"\)[^}]+Dflt\("\K[^"]+
.13
说明:
Num\s*\{ # literally
[^}]+ # 1 or more non closing curly brace
Name\("AddlPointRadius"\) # literally
[^}]+ # 1 or more non closing curly brace
Dflt\(" # literally
\K # forget all we have seen until this position
[^"]+ # 1 or more non quote (i.e. the value to be changed)
替换:
.13 # the new value
给出:(我已经简化了您的示例)
Num {
Desc("AddlPointRadius (Enter 1 in NOTES To Unhide \"MixPointMod\")")
Name("AddlPointRadius")
LColTot(0)
Dec(3)
Dflt(".3")
Max("5.000")
Min("0.000")
}
Num {
Desc("AddlPointRadius (Enter 1 in NOTES To Unhide \"MixPointMod\")")
Name("SomethingElse")
LColTot(0)
Dec(3)
Dflt(".3")
Max("5.000")
Min("0.000")
}
Num {
Desc("AddlPointRadius (Enter 1 in NOTES To Unhide \"MixPointMod\")")
Name("AddlPointRadius")
LColTot(0)
Dec(3)
Dflt(".3")
Max("5.000")
Min("0.000")
}
给定示例的结果
Num {
Desc("AddlPointRadius (Enter 1 in NOTES To Unhide \"MixPointMod\")")
Name("AddlPointRadius")
LColTot(0)
Dec(3)
Dflt(".13")
Max("5.000")
Min("0.000")
}
Num {
Desc("AddlPointRadius (Enter 1 in NOTES To Unhide \"MixPointMod\")")
Name("SomethingElse")
LColTot(0)
Dec(3)
Dflt(".3")
Max("5.000")
Min("0.000")
}
Num {
Desc("AddlPointRadius (Enter 1 in NOTES To Unhide \"MixPointMod\")")
Name("AddlPointRadius")
LColTot(0)
Dec(3)
Dflt(".13")
Max("5.000")
Min("0.000")
}
屏幕截图:
答案 1 :(得分:0)
一种实现方法是使用查找和替换功能激活正则表达式。
Dflt\("[.,0-9]*"\)
运行它。
此正则表达式表示任何以Dflt(".13")
开头,后跟任意数量的Dflt("
,.
或任意顺序的数字的字符串,然后是,
查找内容字段中的")
用于转义括号并允许它们完全匹配,因为\
和(
具有一个正则表达式中的特定功能。
搜索将匹配文件中与此模式匹配的任何文件,然后替换为您指定的内容。
答案 2 :(得分:0)