假设我有一个字符串
Str1 = "TN 81 NZ 0025"
str2 = "DL 11C AA 1111"
two = first2(str1)
print(two)
>>>TN
如何获取这些字符串的前两个字母。我需要first2函数。
答案 0 :(得分:20)
就像string[:2]
一样简单。如果需要,可以轻松编写函数来执行此操作。
即使这样,也很简单
def first2(s):
return s[:2]
答案 1 :(得分:4)
通常,您可以使用i
到j
以及string[i:j]
的字符串字符。
string[:2]
是string[0:2]
的简写。这也适用于数组。
Learn about python's slice notation at the official tutorial
答案 2 :(得分:1)
这是简单函数的样子:
def firstTwo(string):
return string[:2]
答案 3 :(得分:1)
在python字符串中是字符列表,但它们不是显式列表类型,只是类似列表(即它可以像列表一样对待)。更正式地说,它们被称为sequence
(见http://docs.python.org/2/library/stdtypes.html#sequence-types-str-unicode-list-tuple-bytearray-buffer-xrange):
>>> a = 'foo bar'
>>> isinstance(a, list)
False
>>> isinstance(a, str)
True
由于字符串是序列,因此您可以使用slicing
访问列表的部分内容,由list[start_index:end_index]
表示,请参阅Explain Python's slice notation。例如:
>>> a = [1,2,3,4]
>>> a[0]
1 # first element, NOT a sequence.
>>> a[0:1]
[1] # a slice from first to second, a list, i.e. a sequence.
>>> a[0:2]
[1, 2]
>>> a[:2]
[1, 2]
>>> x = "foo bar"
>>> x[0:2]
'fo'
>>> x[:2]
'fo'
未定义时,切片表示法将起始位置设为0,将结束位置设为len(序列)。
在过去的C日,它是一个字符数组,动态与静态列表的整个问题现在听起来像传说,请参阅Python List vs. Array - when to use?
答案 4 :(得分:0)
为了完整性:您可以为def
函数命名,而不是使用lambda
:
first2 = lambda s: s[:2]
答案 5 :(得分:0)
如果您的字符串不够长,以前的所有示例都会引发异常。
另一种方法是使用
'yourstring'.ljust(100)[:100].strip()
。
这将为您提供前100个字符。 如果你的字符串最后一个字符是空格,你可能会得到一个较短的字符串。
答案 6 :(得分:0)
t = "your string"
使用以下字符串播放字符串的前N个字符:
def firstN(s, n=2):
return s[:n]
默认为 等效于
t[:2]
答案 7 :(得分:-1)
def stutter(word):
return word[ :2]+'...'+ word[ :2]+'...'+word+'?'
word = "incredible"
stutter(word)
op:'in...in...incredible?'