2012-03-01 6 views
0

どのように文字列内の特定の文字や特定の文字を検索するようにPythonに指示することができますか?たとえば、 'a'を検索し、それに続くものを探します。 'b'が 'a'の後に来たら、 '。'を入れます。 'b'の前に結果が '.ba'になります。 'b'以外のものが 'a'の後に 'a'と結合した場合、特定の条件で文字列を分割する方法は?

+0

「a」と「b」の順序を逆にしたいのですか、それとも誤植ですか? '' ab ''を '' .ba ''に置き換えるだけなら 'yourString.replace( 'ab'、 '。ba')'を使うだけです。 –

+1

learn [regex](http://ja.wikipedia.org/wiki/Regular_expression)。 – neizod

+0

mmmmmm okありがとうalot – lamiaa

答えて

0

文字列の標準.replace()メソッドを使用すると正常に動作します。あなたの特定の例は、少し紛らわしいですが、次の点を考慮してください

text = 'I know a girl who is so unhappy she cries all the time.' 
print(text.replace('unhappy', 'un.happy')) 
# Output: I know a girl is so un.happy she cries all the time. 
+0

申し訳ありませんが、私はpythonでbigennerなので私はあいまいだった場合、私は '不幸な'のような単語で他の例を教えてみましょう。 'un'の後に結果が 'un.happy'になります – lamiaa

+0

私は不幸を使って私の例を置き換えました。 –

0

私はあなたが入ってくる任意の文字列のおそらく洪水の中で、任意のパターンを検索できるようになるコードをしたいと仮定して、使用して文字列を編集するつもりです'b'が 'a'に続いてその間にドットを入れたいという単純なルールなので、 'abba'を入力すると 'a.bba'が出力として得られます。また、各文字列の最初の「ab」のインスタンスにのみ編集したいと思っています。そうでない場合は、「交換」から「1」を削除してください。

instrings = ['abba', 'belabor', 'sudo', 'balance', 'rabid', 'ababab'] 
for s in instrings: 
    s = s.replace('ab', 'a.b', 1) 
    print(s) 

希望するものがあります。

関連する問題