我想要输入excel / google表格的长文本文件(超过8000行)。问题是所有文本由空格分隔在一起。无论多久,我想要一个4列宽。我想使用正则表达式对单词进行排序,因为在notepad ++中这样做会更简单。所以我有类似的东西:
Foo-Bar foo2 2 20 50 Bar Foo Foo - - -
我需要排序(我需要排序的名称)。我找到一种方法,在找到一个后跟空格的数字/符号后找到下一个单词的开头后再做一行。我希望结果看起来像这样:
Foo-Bar foo2 2 20 50
Bar Foo Foo - - -
答案 0 :(得分:0)
查找所有包含空格和字符的数字,或者后跟短划线和字符的空格。
使用 look-behinds 和预测,我们可以找到一个或多个以数字开头的空格,后跟一个字母:
(?<=\d)\s+(?=[a-zA-Z])
同样,我们可以找到一个或多个空格,后跟一个破折号,然后是一个字母:
\s+(?=-[a-zA-Z])
将这些组合在一起很简单:
(?<=\d)\s+(?=[a-zA-Z])|\s+(?=-[a-zA-Z])
搜索它,并用新行替换所有。