質問するログイン新規登録

回答編集履歴

3

追記

2018/10/16 03:13

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,4 +1,4 @@
1
- str.endswithは**『特定の文字列で終わるか』**を判定するものです。
1
+ str.endswith は**『特定の文字列で終わるか』**を判定するものです。
2
2
  ご提示のコードでは完全に使い方を間違えて居ます。
3
3
  ```Python
4
4
  >>> 'abc123'.endswith('int')
@@ -7,8 +7,12 @@
7
7
  True
8
8
  ```
9
9
 
10
- 目的を考えると、str.endswithの活用は難しいでしょう。
10
+ 目的を考えると、str.endswith の活用は難しいでしょう。
11
11
 
12
+ > CHAPTER IIといった行がプリントされてしまっている
13
+
14
+ むしろこれなら str.startswith で弾けます。
15
+
12
16
  ---
13
17
  私なら**正規表現**を利用して、『末尾が数字列であるか』判定します。
14
18
  ```Python

2

修正

2018/10/16 03:13

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -12,7 +12,7 @@
12
12
  ---
13
13
  私なら**正規表現**を利用して、『末尾が数字列であるか』判定します。
14
14
  ```Python
15
- >>> pattern = re.compile(r'^.+[1-9][0-9]*$')
15
+ >>> pattern = re.compile(r'^.+?([1-9][0-9]*)$')
16
16
  >>>
17
17
  >>> bool(pattern.match('abc123'))
18
18
  True

1

追記

2018/10/16 03:12

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -10,4 +10,14 @@
10
10
  目的を考えると、str.endswithの活用は難しいでしょう。
11
11
 
12
12
  ---
13
- 私なら**正規表現**を利用して、『末尾が数字列であるか』判定します。
13
+ 私なら**正規表現**を利用して、『末尾が数字列であるか』判定します。
14
+ ```Python
15
+ >>> pattern = re.compile(r'^.+[1-9][0-9]*$')
16
+ >>>
17
+ >>> bool(pattern.match('abc123'))
18
+ True
19
+ >>> bool(pattern.match('abcint'))
20
+ False
21
+ ```
22
+
23
+ これが出題の意に沿った解法であるかどうか分かりませんが。