例子:(101,朱莉,哈伯特,帕姆,23932)
产出应该是:(101号,“朱莉”,“哈伯特”,“帕姆”,23932)
发布于 2022-12-02 05:52:45
发布于 2022-12-02 05:49:03
您可以在regex模式下尝试以下查找和替换:
Find: \b(\w*[A-Za-z]\w*)\b
Replace: "Julie"
所使用的regex模式认为,如果CSV条目中至少包含一个字母表,则它是一个“字符串”。
发布于 2022-12-02 06:57:23
简短答覆:
ctrl+h
以打开“搜索和替换”对话框([^,\(\)\r\n]*[^\r\n,0-9\(\)][^,\(\)\r\n]*)
”框中输入Find what:
"$1"
”框中输入Replace with:
Regular expression
无线电选项中选择Search Mode
Replace All
按钮假设:
"
(
开头,以)
结尾,
隔开。(
、,
或)
。长篇解释:最简单的方法是使用正则表达式(regex)查找单词并用引号括起来的单词替换它们。区分字符串和数字的最简单方法是,它必须包含一些非数字字符。因此,我们的正则表达式由三个主要的条件组成。第一个是任何长度的字符,而不是我们的控制字符之一。第二个字符正是一个不是控制字符或数字的字符。第三个字符与第一个字符相同,任意长度的非控制字符.此方法通过在每个^
的开头使用[]
排除字符来定义单词,但是您可以轻松地定义这个包含性的字符,而不是枚举要包含的字符。最简单的是([a-zA-Z]+)
,它将匹配任意长度的字符1或更长,也就是字母。如果你想在你的单词中允许一个空格,你可以调整它到([a-zA-Z ]+)
,如果你想在你的单词中允许数字,那么你必须和([a-zA-Z0-9 ]*[a-zA-Z ][a-zA-Z0-9 ]*)
一起使用3个术语,因为这是确保至少有一个字符不是0-9的唯一方法。从那里,您可以很容易地看到如何允许任何额外的字符。
如果您想知道,围绕整个事件的(
和)
定义了“捕获组”,这就是为什么您可以在“替换”框中使用$1
,因为它用捕捉到的第一个捕获组替换$1
。您可以使用多个捕获组(a)(b)(c)
进行正则表达式,然后使用$3$2$1
来逆转顺序。
https://stackoverflow.com/questions/74651354
复制相似问题