查找并替换为两个(有些)不相关的随机变量
Find and replace with two (somewhat) uncorrelated random variables
编辑:
我已经更改了我的主题名称以(希望)更准确地反映我的要求。我希望包括下面照片中圈出的两个变量,以免改变上述范围之外的任何内容。
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
非常感谢您抽出宝贵时间。
解决方案:
一种方法是使用查找和替换功能激活正则表达式。
- 打开查找和替换对话框
- 选中左下角的"Regular expression"框
- 用
Dflt\("[.,0-9]*"\)
填充查找内容:
- 填充 替换为: 为
Dflt(".13")
运行吧。
解释:
这个正则表达式表示以 Dflt("
开头的任何字符串,后跟任意数量的 .
、,
或任意顺序的数字,然后是 ")
Find what 字段中的 \
用于转义括号并允许它们完全匹配,因为 (
和 )
在正则表达式中有特定的功能。
搜索将匹配与此模式匹配的文件的任何部分,然后替换为您指定的内容。
是的,可以使用正则表达式。
这是一个例子。替换所有出现的 Dflt(".#")
用 Dflt(".13")
- 打开搜索并替换 (Ctrl + H)
- 将搜索模式从普通更改为正则表达式
- 使用此正则表达式:'Find what' 框中的
(Dflt\(".[0-9]*"\))
- 在 'Replace with' 文本框中输入
Dflt\(".13"\)
(将“.13”替换为您需要的任何值)
- 全部替换
- Ctrl+H
- 查找内容:
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")
}
屏幕截图:
编辑: 我已经更改了我的主题名称以(希望)更准确地反映我的要求。我希望包括下面照片中圈出的两个变量,以免改变上述范围之外的任何内容。 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
非常感谢您抽出宝贵时间。
解决方案:
一种方法是使用查找和替换功能激活正则表达式。
- 打开查找和替换对话框
- 选中左下角的"Regular expression"框
- 用
Dflt\("[.,0-9]*"\)
填充查找内容:
- 填充 替换为: 为
Dflt(".13")
运行吧。
解释:
这个正则表达式表示以 Dflt("
开头的任何字符串,后跟任意数量的 .
、,
或任意顺序的数字,然后是 ")
Find what 字段中的 \
用于转义括号并允许它们完全匹配,因为 (
和 )
在正则表达式中有特定的功能。
搜索将匹配与此模式匹配的文件的任何部分,然后替换为您指定的内容。
是的,可以使用正则表达式。
这是一个例子。替换所有出现的 Dflt(".#") 用 Dflt(".13")
- 打开搜索并替换 (Ctrl + H)
- 将搜索模式从普通更改为正则表达式
- 使用此正则表达式:'Find what' 框中的
(Dflt\(".[0-9]*"\))
- 在 'Replace with' 文本框中输入
Dflt\(".13"\)
(将“.13”替换为您需要的任何值) - 全部替换
- Ctrl+H
- 查找内容:
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")
}
屏幕截图: