如何使用Regex在文本限定符内排除定界符?

时间:2019-01-20 14:51:12

标签: regex alteryx

我正在尝试在文本限定符中排除定界符。为此,我正在尝试使用正则表达式。但是,我是Regex的新手,无法完全满足我的需求。如果有人可以帮助我,我将非常感激。

在Alteryx中,我将带分隔符的纯文本文件加载为“无分隔符”,并说它没有文本限定符。因此,输入将如下所示:

  1. “ aabb” | ccdd | eeff | ghhh
  2. “ aa | bb” | ccdd | eeff | gghh
  3. “ aa | bb” | ccdd |“ ee | ff” | ghhh
  4. “ aa | bb” |“ cc | dd” |“ ee | ff” |“ gg | hh”
  5. “ aabb” |“ ccdd” |“ eeff” |“ ghhh”
  6. “ aabb” |“ ccdd” |“ eeff” |“ gg | hh”
  7. aabb | ccdd | eeff | ghhh
  8. “ aa | bb” | ccdd | eeff |“ gg | hh”
  9. aabb | cc | dd | eeff | ghhh
  10. aabb |“ cc || dd” | eeff | ghhh
  11. aabb |“ c | c | dd” | eeff | ghhh
  12. “ aa || bb” | ccdd | eeff | gghh
  13. “ a | a | b | b” | ccdd | eeff | ghhh
  14. “ aabb” | ccdd | eeff |“ g | g | hh”
  15. “ aabb” | ccdd | eeff |“ gg || hh”

我想排除文本限定符之间的所有定界符。

我试图用Regex替换文本限定符中的分隔符。

到目前为止,我已经为目标尝试了以下正则表达式代码:

(")(.*?[^"])\|+(.*?)(")

并且我使用以下内容进行替换: $ 1 $ 2 $ 3 $ 4

但是,这不会修复第11、13、14和15行。

我希望获得以下结果:

  1. “ aabb” | ccdd | eeff | ghhh
  2. “ aabb” | ccdd | eeff | ghhh
  3. “ aabb” | ccdd |“ eeff” | ghhh
  4. “ aabb” |“ ccdd” |“ eeff” |“ ghhh”
  5. “ aabb” |“ ccdd” |“ eeff” |“ ghhh”
  6. “ aabb” |“ ccdd” |“ eeff” |“ ghhh”
  7. aabb | ccdd | eeff | ghhh
  8. “ aabb” | ccdd | eeff |“ ghhh”
  9. aabb | cc | dd | eeff | ghhh
  10. aabb |“ ccdd” | eeff | ghhh
  11. aabb |“ ccdd” | eeff | ghhh
  12. “ aabb” | ccdd | eeff | ghhh
  13. “ aabb” | ccdd | eeff | ghhh
  14. “ aabb” | ccdd | eeff |“ ghhh”
  15. “ aabb” | ccdd | eeff |“ ghhh”

预先感谢您对我的帮助!

诚挚的问候, 罗宾

1 个答案:

答案 0 :(得分:0)

除非您输入可以找到的每种模式,否则我无法想到REGEX中的正确语法。

但是,一种更简单的方法(可能不那么有效)是使用“文本到列”选择“忽略引号中的定界符”。如果以后需要在一个单元格中将其放在一起,则可以进行转置,然后删除定界符,然后删除“摘要”以连接每个RecordID组。