Python:返回字符串的长度

时间:2015-02-11 23:13:55

标签: python

我有一个看起来像这样的输入文件:

 ADD    R0, R0, R2        
 PUTS                     

 HALT

 MSG1          .STRINGZ   "Hello Hello"
 MEMORYSPACE   .BLKW      9
 NEWLINE       .FILL      #10
 NEG48         .FILl      #-48

我需要在.STRINGZ前面返回字符串的长度(我通常不知道该字符串是什么,但这是一个例子。)我的字符串有11个字符,但我的代码返回17而我不能找出原因。有人可以帮忙吗?这是我的代码:

for line in f:
    if STRINGZ_ in line:
        string_len = 0
        stringz_ = line.split(STRINGZ_)[1]
        print (stringz_)
        string_len = len(stringz_)
        print ('len(stringz_): ' + str(string_len))

2 个答案:

答案 0 :(得分:0)

是!!也许你需要删除空格

text = ' hello worldss      '
text = text.strip()
print len(text)
# Return 13

答案 1 :(得分:0)

使用发布的代码,split返回的列表如下所示:

['msg1                  ', '    "Hello Hello"']

所以你有额外的空白区域。而不是在脚本中添加其他方法并对其进行条带化处理,您可以将其拆分为'"'。

for line in f:
    if STRINGZ_ in line:
        string_len = 0
        stringz_ = line.split('"')[1]