从数字和逗号中删除字符串中的所有字符?

时间:2015-11-28 21:22:34

标签: regex autohotkey

我在autohotkey中创建了一个脚本来选择所有内容(网页,文档等),复制它,并将其附加到剪贴板上(不会覆盖,添加到已经存在的内容上)。从这里开始,我手动对内容进行排序,并将剪贴板中的数字输入电子表格。

我以为我会稍微调整一下脚本,以便我可以轻松地直接粘贴到我的电子表格中。然而,由于我对AHC和正则表达式的了解有限,我在这方面的运气不大。

复制以下内容的最终目标是:

  

这是一个样本123,456,789文本到654,321得到了点。 123

并将以下内容复制到剪贴板 - 以及最后的换行符。

  

123456789 654321 123

任何和所有帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:0)

我建议按顺序使用几个简单的正则表达式:

  1. 使用空格替换数字之间的所有非数字字符:[^,\d]+" "
  2. 删除数字中的逗号:","""
  3. 修剪开头/结尾的空格:^\s*(\S.*\S|\S)\s*$$1
  4. s := regexreplace(regexreplace(regexreplace(s
                      , "[^,\d]+", " ")
                      , ",", "")
                      , "^\s*(\S.*\S|\S)\s*$", "$1")
    

    在该行的末尾添加换行符类型 "`n"

答案 1 :(得分:0)

我建议遵循以下解决方案(高可读性,只有一个简单的RegEx,易于定制):

  1. 将所有数字与RegExMatch匹配
  2. 删除,
  3. Concenate to a string
  4. 修剪以移除最后一个空白并附加换行符
  5. xml