回答編集履歴
1
テキスト修正
answer
CHANGED
@@ -5,4 +5,21 @@
|
|
5
5
|
```python3
|
6
6
|
re.sub(r'(?<=_)([0-9]+)(?=.csv$)', lambda m: f'{1+int(m.group(1))}', 'Re_a_img063c.jpg_1.csv') # => Re_a_img063c.jpg_2.csv
|
7
7
|
```
|
8
|
-
- **動作確認用Repl.it:** [https://repl.it/@jun68ykt/Q244615](https://repl.it/@jun68ykt/Q244615)
|
8
|
+
- **動作確認用Repl.it:** [https://repl.it/@jun68ykt/Q244615](https://repl.it/@jun68ykt/Q244615)
|
9
|
+
|
10
|
+
### 追記
|
11
|
+
|
12
|
+
`re.sub` を使わない、別の方法を挙げます。
|
13
|
+
```python3
|
14
|
+
ls = re.split(r'([_.])', 'Re_a_img063c.jpg_99.csv')
|
15
|
+
```
|
16
|
+
とすると、 `ls` は以下のような内容のリストになります。
|
17
|
+
|
18
|
+
```
|
19
|
+
['Re', '_', 'a', '_', 'img063c', '.', 'jpg', '_', '99', '.', 'csv']
|
20
|
+
```
|
21
|
+
上記のリストの、末尾から数えて3個目の要素`'99'`を数値に変換して `1` を加え、再度、文字列に戻してから、すべての要素を連結した文字列にすれば、`Re_a_img063c.jpg_100.csv` が得られます。
|
22
|
+
|
23
|
+
以下は、この考え方によるサンプルです。
|
24
|
+
|
25
|
+
- **動作確認用Repl.it:** [https://repl.it/@jun68ykt/Q244615-2](https://repl.it/@jun68ykt/Q244615-2)
|