正则表达式分割后20个字符

时间:2011-06-07 15:42:58

标签: regex

我有一个固定宽度的文本文件,其中每个字段总共有20个字符。通常只使用5个字符,然后有尾随空格。我想使用Split函数来提取数据,而不是Match函数。有人可以用这个正则表达式帮我吗?提前谢谢。

3 个答案:

答案 0 :(得分:1)

我会用字符串操作来做,而不是正则表达式。如果您使用的是JavaScript:

var results = [];

for (i = 0; i < input.length; i += 20) {
    results.push(input.substring(i, i + 20));
}

或修剪空白:

var results = [];

for (i = 0; i < input.length; i += 20) {
    results.push(input.substring(i, i + 20).replace(/^\s+|\s+$/g, ''));
}

如果你必须使用正则表达式,它应该是.{20}

答案 1 :(得分:0)

在空格上拆分并获取第一个返回的元素。这是假设您在实际数据中没有空格。

欢呼声

答案 2 :(得分:0)

如果你必须:

^(.{20})(.{20})(.{20})$ // repeat the part in parentheses for each field

您仍需要修剪每个字段以删除尾随空格。

使用substr()或您的语言等效似乎更简单。或者在PHP中,您可以使用str_split($string, 20)