假设现在我们有一个字符串line1。该字符串含有四个域,分别是a、b、c和d。a的左边有一个空格,a和b之间有一个空格,b和c之间有两个空格,c和d之间有一个空格和一个制表符,d的右边有一个制表符。如下所示:
就如你已经知道的,如果直接用split命令将line1分割,返回的列表长度将会是8:
如果想要返回的列表只包含a、b、c和d这四个元素,那么可以采用以下办法:
首先将line1首尾的空白字符去除,得到line2字符串:
然后用regsub命令将line2中连续的空格或制表符替换为一个制表符(或一个空格),得到line3字符串:
最后对line3进行分割即可: