从python上的文本文件中的字符串开头删除空格

问题描述

我有一个像波纹管这样的列表,需要分成前缀/根目录/后缀

Input
form
jalan
ba-jalan
pem-porut#an
daun #kulu
daun#kulu
tarik-napas
tarik#napas
n-cium #bow
arau/araw
imbaw//nimbaw
dengo | nengo
dodop=am
{di} dalam
di {dalam}

我已经在python上通过波纹管正则表达式完成了

import sys
 sys.stdout = open('final.txt','w')

import re
 open('split.txt') as f:
  new_split = [item.strip() for item in f.readlines()]

for word in new_split:
 m = re.match(r"(?:\{[^-#={}/|]+\})?(?:([^-#={}/|]+)-)?([^-#={}/|]+)(?:/[^-#={}/|]+)?(?:[#=]([^-#={}/|]+))?",word)
if m:
    print("\t".join([str(item) for item in m.groups()]))
else:
    print("(no match: %s)" % word)

最终的输出如下所示。

None    jalan   None
ba  jalan   None
pem porut   an
None    daun    kulu
None    daun    kulu
tarik   napas   None
None    tarik   napas
n   cium    bow
None    arau    None
None    imbaw   None
None    dengo   None
None    dodop   am
None     dalam  None
None    di  None

现在您在输出文件底部的单词dalam中看到,在dalam之前还有多余的空间,而其他一些单词在字符串之前也有多余的空间如何从final.txt文件删除那些多余的空间,我可以做到这一点在相同的上述脚本中还是应该在单独的脚本中执行此操作?谢谢。

解决方法

在字符串中添加lstrip()以删除前导空格。

string filename = "example2.dat";
ifstream inFile;
inFile.open(filename,std::ifstream::in);
ml.search(inFile);

代码:

str(item).lstrip()