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