回答編集履歴

2

追記

2019/11/13 10:11

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -98,4 +98,6 @@
98
98
 
99
99
  ---
100
100
 
101
- どちらも泥臭いですけれど、関数に押し込めば充分使えそうです。
101
+ 泥臭いですけれど、関数に押し込めば充分使えそうです。
102
+
103
+ どちらの方法も、文字列の仮置きを介さないという意味ではご提示の方法に勝ります。

1

追記

2019/11/13 10:11

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,4 +1,8 @@
1
1
  ぱっと思い付いた方法です。もっと良いやり方があるかもしれません。
2
+
3
+
4
+
5
+ #### **目的の文字列で分割する方法**
2
6
 
3
7
  ```Python
4
8
 
@@ -46,4 +50,52 @@
46
50
 
47
51
 
48
52
 
53
+ #### **str.findでゴリ押す方法**
54
+
55
+ ```Python
56
+
57
+ sample = 'abcXXXdefXXXghiXXXjkl'
58
+
59
+ f = 'XXX'
60
+
61
+ t = '---'
62
+
63
+
64
+
65
+ for n in range(1, 5):
66
+
67
+ pos = -1
68
+
69
+ for i in range(n):
70
+
71
+ pos = sample.find(f, pos+1)
72
+
73
+
74
+
75
+ dst = sample[:pos] + sample[pos:].replace(f, t, 1)
76
+
77
+ print(dst)
78
+
79
+ ```
80
+
81
+
82
+
83
+ **実行結果** [Wandbox](https://wandbox.org/permlink/iyL8hylXOBBqfOHX)
84
+
85
+ ```plain
86
+
87
+ abc---defXXXghiXXXjkl
88
+
89
+ abcXXXdef---ghiXXXjkl
90
+
91
+ abcXXXdefXXXghi---jkl
92
+
93
+ abcXXXdefXXXghiXXXjkl
94
+
95
+ ```
96
+
97
+
98
+
99
+ ---
100
+
49
- 泥臭いですけれど、関数に押し込めば充分使えそうです。
101
+ どちらも泥臭いですけれど、関数に押し込めば充分使えそうです。