如何从包含换行符的字符串中提取出'int_32'?
如何从包含换行符的字符串中提取出'int_32'?
我来帮你搞定这个问题!你遇到的情况其实是因为split("\n")和splitlines()都会返回一个列表,而不是直接返回你要的目标字符串,你之前可能没注意到要从列表里提取元素这一步~
先拆解下你的原字符串:x = "int_32\n' ",它的结构是int_32加上换行符,再加上' (单引号加空格)。之前你调用split("\n")或者splitlines()后,其实已经把字符串按行分割开了,只是你没取到正确的部分。
给你几个简单可行的解决方法:
方法1:用
split("\n")取列表第一个元素
调用split("\n")会得到一个按换行符分割的列表['int_32', "' "],直接取索引为0的元素就是你要的内容:x = "int_32\n' " target = x.split("\n")[0] print(target) # 输出:int_32方法2:用
splitlines()取列表第一个元素splitlines()是专门用来按行分割字符串的方法,返回的也是列表,同样取第一个元素即可:x = "int_32\n' " target = x.splitlines()[0] print(target) # 输出:int_32方法3:用
partition()更直观分割partition()会把字符串按指定分隔符拆成三部分(分隔符前的内容、分隔符本身、分隔符后的内容),直接取第一部分就好,这个方法在你只需要分隔符前的内容时特别直观:x = "int_32\n' " target = x.partition("\n")[0] print(target) # 输出:int_32
如果你之前直接打印x.split("\n"),看到的会是整个列表['int_32', "' "],这就是你误以为没得到正确结果的原因,只要多一步提取列表的第一个元素就搞定啦!
备注:内容来源于stack exchange,提问作者Software Fan
相关产品推荐
相关产品推荐

