![如何用找到的字符替换 * 字符](https://linux22.com/image/1575445/%E5%A6%82%E4%BD%95%E7%94%A8%E6%89%BE%E5%88%B0%E7%9A%84%E5%AD%97%E7%AC%A6%E6%9B%BF%E6%8D%A2%20*%20%E5%AD%97%E7%AC%A6.png)
我找不到我正在寻找的具体内容,可能是因为这是不可能的。本质上,我想找到大写单词并将其替换为大写单词后跟回车符。
我当时正在考虑类似的事情([A-Z])*([A-Z]) = /1/2/3^p
,但我收到一条错误消息,说数字超出范围,而我尝试过的任何其他方法最终都只是用完整的第一个和最后一个字母进行替换。
还有希望吗?
答案1
您收到错误是因为您的 Find 语句中只有 2 组括号标记逻辑字符串([A-Z])*([A-Z])
,而在 Replace 语句中/1/2/3^p
您说有三组。
如果您想保留 Replace 语句,则将 Find 语句更改为([A-Z])(*)([A-Z])
。尽管您可能对它返回的结果并不满意,但请尝试一下,看看这是否是您想要的。由于包含通配符,它将返回多个单词*
。
用于查找所有大写单词的更好的 Find 语句是:<([A-Z]{2,10})>
左箭头和右箭头通配符指示查找仅查找以包含的条件开头的单词。带有花括号的控制字段告诉 Find,前面的条件必须至少有 2 个字符,最多有 10 个字符(我只是随机选择了 10 作为最大值,您可以将其设置为任何值)。使用此通配符 Find 语句,Replace 语句应该是/1^p
。