Regex 将字符串转换为句子中间的期望格式/删除周期

Regex 将字符串转换为句子中间的期望格式/删除周期,regex,notepad++,Regex,Notepad++,有了这个文本序列,我们如何让它看起来像期望的输出 AAAAAAA ................................................ 28.02% AAAAA-BBBBB, AB ........................................ 16.50% AAAAAAA ................................................ 28.02% AAAAA-BCCCC, AB .................

有了这个文本序列,我们如何让它看起来像期望的输出

AAAAAAA ................................................ 28.02%
AAAAA-BBBBB, AB ........................................ 16.50%
AAAAAAA ................................................ 28.02%
AAAAA-BCCCC, AB ........................................ 16.50%
CCCCCCC ................................................ 28.02%
AAAAA-DDDDD, AB ........................................ 16.50%
FFFFFFF ................................................ 28.02%
AAAAA-BBBBB, AB ........................................ 16.50%
试图进入这样的格式-

AAAAAAA | 28.02%
AAAAA-BBBBB, AB | 16.50%
AAAAAAA | 28.02%
AAAAA-BBBBB, AB |16.50%
AAAAAAA | 28.02%
AAAAA-BBBBB, AB | 16.50%
使用管道分隔符,这样我可以将其加载到DB中,因为我不能使用逗号,它们位于字符串的第一部分

到目前为止,我已经尝试过这一点-没有太多的成功,任何帮助将不胜感激。使用Notepad++处理正则表达式

\.(?!$)
replace with blank
尝试查找:[^.]+\.++

并替换为:$1 |$2

解释

查找:[^.]+\.++

[^.]+-捕获组1中不是点“.”的所有内容 \.+-空格,一个或多个点…,空格 .+-只需另一个捕获组2中字符串的其余部分 替换:$1 |$2

$1-捕获组1的内容 |-空间、管道、空间 $2-捕获组2的内容 尝试查找:[^.]+\.++

并替换为:$1 |$2

解释

查找:[^.]+\.++

[^.]+-捕获组1中不是点“.”的所有内容 \.+-空格,一个或多个点…,空格 .+-只需另一个捕获组2中字符串的其余部分 替换:$1 |$2

$1-捕获组1的内容 |-空间、管道、空间 $2-捕获组2的内容
您可以简单地匹配dotsminimum 2,否则dot inside float值也将匹配,这在这里不是必需的,并替换为pipe |字符

匹配:\.{2,}

替换:|


REGEX DEMO:

您可以简单地匹配dotsminimum 2,否则dot-inside-float值也将匹配,这在这里不是必需的,并替换为管道|字符

匹配:\.{2,}

替换:|


正则表达式演示:

您可以使用下面的正则表达式

[匹配:]+


替换:|

您可以使用下面的正则表达式

匹配:[.]+


替换:|

不要惊慌,它可以非常容易地完成,只需忘记所有复杂的答案。只需选择一个或多个带有空白的点,就可以了

(\.+ )
然后替换为管道和空白字符|


演示:

不要惊慌,它可以非常容易地完成,只需忘记所有复杂的答案即可。只需选择一个或多个带有空白的点,就可以了

(\.+ )
然后替换为管道和空白字符|


演示:

我不喜欢使用\.+来匹配一系列的点,因为十进制数字中也有一个点。我不喜欢用\.+来匹配一系列的点,因为十进制数字中也有一个点。另一种选择,请参见阳光般的答案。像符咒一样工作:欣赏它。@CustomerHell很高兴它能帮助你:像符咒一样工作:欣赏它。@CustomerHell很高兴它能帮助你:查找:\B\.+用管道替换所有查找:\B\.+用管道替换所有