ホームページ  >  記事  >  バックエンド開発  >  Pythonの文字列の一般的な操作方法

Pythonの文字列の一般的な操作方法

高洛峰
高洛峰オリジナル
2017-03-02 16:16:071347ブラウズ

この記事の例ではPythonの文字列の操作方法を共有していますので、具体的な内容は以下の通りです

str.strip():
指定された文字と括弧を削除します。文字列の両側に指定された文字が書き込まれます、デフォルトはスペースです

>>> a=' hello '
>>> b=a.strip()
>>> print(b)
hello

str.lstrip():

文字列の左側の指定された文字を削除します、括弧はで書かれます指定された文字、デフォルトはスペースです

>>> a=' hello '
>>> b=a.lstrip()
>>> print(b)
 hello #右边空格可能看的不是很明显

str.rstrip():

文字列の右側の指定された文字を削除します、デフォルトはスペースです

>>> a=' hello '
>>> b=a.rstrip()
>>> print(b)
 hello

2. 文字列


をコピーします。 3. ハイフン文字列

をコピーします。

>>> a='hello world'
>>> b=a
>>> print(a,b)
hello world hello world

5. string

str.cmp: 2 つのオブジェクトを比較し、結果に応じて整数を返します。 XY、戻り値は正の数です。
#python3 にはこのメソッドがなくなりました:

cmp() 関数はなくなったものとして扱われ、__cmp__() 特別なメソッドはサポートされなくなりました。 __hash__()、および必要に応じてその他の豊富な比較を実行できます (cmp() 機能が本当に必要な場合は、cmp(a, b) と同等の式 (a > b) - (a 52785cf8efb1ea09e70ca981103d1a17 b) - (a < b) という式を使用できます。 a,b)


+:连接2个字符串
>>> a=&#39;hello &#39;
>>> b=&#39;world&#39;
>>> print(a+b)
hello world
注:此方法又称为 "万恶的加号",因为使用加号连接2个字符串会调用静态函数string_concat(register PyStringObject *a ,register PyObject * b),在这个函数中会开辟一块大小是a+b的内存的和的存储单元,然后将a,b字符串拷贝进去。如果是n个字符串相连 那么会开辟n-1次内存,是非常耗费资源的。
 
str.join:连接2个字符串,可指定连接符号(关于join,读者可以自己去查看一些相关资料)
>>> a=&#39;hello &#39;
>>> b=&#39;####&#39;
>>> a.join(b)
&#39;#hello #hello #hello #&#39;

6. 指定された文字列



#str.index 和str.find 功能相同,区别在于find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。
str.index:检测字符串中是否包含子字符串str,可指定范围
 a=&#39;hello world&#39;
>>> a.index(&#39;l&#39;)
2
>>> a.index(&#39;x&#39;)
Traceback (most recent call last):
 File "<pyshell#40>", line 1, in <module>
 a.index(&#39;x&#39;)
ValueError: substring not found
str.find:检测字符串中是否包含子字符串str,可指定范围

>>> a=&#39;hello world&#39;
>>> a.find(&#39;l&#39;)
2
>>> a.find(&#39;x&#39;)
-1


7が含まれているかどうか。

8. 大文字の変換文字列内の小文字


>>> a=100
>>> b=80
>>> cmp(a,b)
1

9. 文字列を中央の位置に配置し、その位置の両側の文字を指定します


in |not in 
>>> a=&#39;hello world&#39;
>>> &#39;hello&#39; in a
True
>>> &#39;123&#39; not in a
True

10.


str.len
>>> a=&#39;hello world&#39;
>>> print(len(a))
11

11. このタイプの関数は string モジュールでは使用できません


S.lower() #转换为小写 
>>> a=&#39;Hello World&#39;
>>> print(a.lower())
hello world

S.upper() #转换为大写 
>>> a=&#39;Hello World&#39;
>>> print(a.upper())
HELLO WORLD


S.swapcase() #大小写互换 
>>> a=&#39;Hello World&#39;
>>> print(a.swapcase())
hELLO wORLD

S.capitalize() #首字母大写 
>>> a=&#39;Hello World&#39;
>>> print(a.capitalize())
Hello world

12。


str.center()
>>> a=&#39;hello world&#39;
>>> print(a.center(40,&#39;*&#39;))
**************hello world***************

ここで強調する必要があるのは、文字列オブジェクトは不変であるということです。これは、Python が文字列を作成した後は、文字の特定の部分を変更できないことを意味します。上記の関数のいずれかが文字列を変更すると、元の文字列は変更されていない新しい文字列が返されます。

以上がこの記事の全内容です。Pythonプログラミングを学ぶ皆さんのお役に立てれば幸いです。 Python 文字列の一般的な操作方法に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。