善良的人,长时间的倾听者,第一次来电。
我在问题的“搜索”方面找到了足够的帮助,但我仍然坚持更换。例如:
你好9
世界18
你好37岁。
通过使用“([0-9])([0-9])” - 根据需要使用空格和多个([0-9]) - 我可以很容易地找到以空格开头的数字。 / p>
我想用分号替换该空格以获取:
您好; 9
世界; 18
等。我无法删除文本中的所有空格并将其替换为“;”。所以问题是:
如何告诉MS Word - 或者记事本++ - 使用找到的字符串删除其空间而不替换找到的数字?
万分感谢
答案 0 :(得分:0)
在Notepad ++中使用替换选项:
进行尝试Find what: (?<=[a-zA-Z])\s(?=[0-9]+)
Replace with: ;
我基本上只是寻找前面带字母的空格,以及后面的数字。
答案 1 :(得分:0)
在Word中,使用通配符,将不同的部分放在“表达式” - 括号中。所以为了找到任意位数的[space]数字:
( )([0-9]{1;})
然后用分号加第二个表达式替换它:
;\2
反斜杠表示表达式,后跟表达式的索引号。您可以包含多个表达式BTW。
请注意,字符数的定义 - {1;} - 包含分隔符(列表分隔符)。根据Windows系统配置,这可能不是分号。它可以是逗号或其他角色。在Windows控制面板(适用于Win 7)中:区域和语言/格式/其他设置/列表分隔符。以编程方式,这可以从注册表中读取。
答案 2 :(得分:0)
我将用Cindy Meister的答案添加我对世界外卡的体验。
使用大量数据和长正则表达式时,您应该使用更大,更精确的正则表达式字符串来获得所需的精确替换,同时不捕获不需要的组。
在您的情况下,您应该使用([A-Z]{1,}) ([0-9]{1,2})
替换为\1;\2
无论如何都无需捕捉你正在删除的群组(你的情况下的空间)。
这里([0-9] {1,2})应该根据数字的出现来设置。在您的示例中,您显示了1或2次出现。