Pythonの古典的なプログラミングの質問:文字列の置換

関数プロトタイプstrreplace(str、oldString、newString)
例:>>> pstr = "Hello World!"; >>> afterReplaceStr = strreplace(pstr、 "World"、 "Tom");
その場合、afterReplaceStrの値は「HelloTom!」です。

方法1:文字列置換を使用する

 def strreplace_v1(old_str, key, value):
 # 文字列の1つまたは複数の文字列を置き換えます
  new_str = old_str.replace(key, value)return new_str

方法2:定期的な交換を使用する

import re
def strreplace_v2(msg, key, value):'''文字列の1つまたは複数の文字列を置き換えます'''
 m = re.compile(key)
 ret = m.sub(value, msg)return ret

方法3:独自の置換方法を作成する

def strreplace_v3(msg, key, value):'''文字列の1つまたは複数の文字列を置き換えます'''
 n =len(key)

 # pythonのstrを使用する.index()
 # i = msg.index(key)

 # 手書きの機能を使用する
 i =str_index(msg, key)

 j = i + n
 ret = msg[:i]+ value + msg[j:]return ret

def str_index(msg, key):'''文字列メッセージで文字列キーの位置を見つけます
 手書きstr.index()関数
    '''
 i = j =0
 n =len(msg)
 m =len(key)
 flag = False
 while i < n and not flag:
  # 0番目の文字を確認してください
  if msg[i]!= key[0]:
   i +=1else:
   # 同じ、後続の文字を検出します
   for k inrange(1, m):if msg[i + k]!= key[j + k]:
     i += k +1breakelse:
    # 現れる
    return i
 raise ValueError('substring not found')

pstr ="Hello World!"
afterReplaceStr =strreplace_v3(pstr," World"," Tom")print(afterReplaceStr)

Recommended Posts

Pythonの古典的なプログラミングの質問:文字列の置換
Pythonインタビューの質問:文字列の連結
Python文字列
Python文字列
Pythonは質問に答えます
Pythonの古典的なアルゴリズム
Python文字列操作
Pythonネットワークプログラミング
Pythonインタビューの質問
12.Python3でのネットワークプログラミング
Python |ダイナミックプログラミングクラシックケース
詳細なPythonIOプログラミング
PythonのStr文字列
Pythonの古典的なインタビューの質問1
Python機能プログラミングについて話す
Pythonが文字列の大文字小文字を変換する方法
PythonプログラミングPycharm高速学習
一般的に使用されるPython3スクリプトプログラミング.md
XTUプログラミングPythonトレーニング3
Pythonインタビュー質問コレクション(3)
LeetCodeブラシ質問の概要python3
ブラックハットプログラミングアプリケーションPython2
Python文字列3形式の出力