2015-12-15 57 views
0

我有格式的主机名xxxxxxxx-abcdxxxxxx不是集合号,所以不能使用print text[10:14]因为我没有设置位置,唯一的模式是4字符后-如何在主机名''之后提取4个字符

+0

拆分破折号,得到第二个拆分的前4个字符 –

回答

6

假设你的第一个字符串是

s = "xxxxxxxx-abcdxxxxxxxxx" 

你只是做:

s.split("-",1)[1][:4] 

其将在一个阵列s成两个串,['xxxxxxxx','abcdxxxxxxxxx']你采取第二拼接得到的结果从索引04的数组。

abcd 
+1

thx必须等待8分钟才能接受您的答案。 text.split(“ - ”)[1] [0:4] – Victor

+1

我认为OP想要abcd,而不是其他的字符 –

+0

你的'[4:]'将返回'ssometiff'部分在'abcd' –

5

选项1

获取破折号的索引,并且从+1+5到选择:

a = 'xxxxxxx-abcdxxxxxxx' 
i = a.index('-') 
print(i[i+1:i+5]) 

选项2

使用split函数,然后获取第二个元素的前4个值。

a = 'xxxxxxx-abcdxxxxxx' 
print(a.split('-')[1][:4]) 

要查看一个字符串是否是字母,只需调用isalpha功能:

str.isalpha() 

它会返回结果上true或false为主。

相关问题