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

質問編集履歴

1

質問がわかりづらかったので、変更致しました。

2021/02/04 04:19

投稿

hiranohirano
hiranohirano

スコア33

title CHANGED
File without changes
body CHANGED
@@ -1,25 +1,21 @@
1
1
  ### 前提・実現したいこと
2
-
3
2
  不特定の同じ単語の繰り返しを抽出したいです。
4
- 例えば、下記の文字列は"Python"という単語が5回繰り返されているので、5を返すような関数を作りたいです。
5
3
 
4
+ textの例
5
+ text1 = "honPythonPythonPythonPythonPyt"
6
- text = "PythonPythonPythonPythonPython"
6
+ text2 = "Python123Python12PythonPythonPython"
7
+ text3 = "Python1234565aaanohtyPPy"
8
+ text4 = "テキストてきすとDjangoDjangoDjangoDjangoあPythonあ"
9
+ text5 = "PythonPythonPythonとDjangoDjangoDjangoあいうえお"
7
10
 
11
+ text1は、Pythonという単語が4回繰り返されているので、Pythonという単語を抽出し4を返したいです。
8
- textの中から"Python"という単語を指定し探したわけではなく、同じ単語繰り返し見つけて、それが繰りされ回数を知りたいです。
12
+ text2は、Pythonという単語が5回使われていますが、連続使われているの最後の3回なので3を返たいです。
13
+ text3は、aaa、PPが連続しているので、aaaを抽出し3を返し、PPを抽出し2を返したいです。
14
+ text4は、途中でDjangoという単語が4回繰り返されているのでDjangoを抽出し、4を返したいです。
15
+ text5は、PythonとDjangoがそれぞれ3回繰り返されているので、Python、Djangoを抽出し3を返したいです。
9
16
 
10
- text = "PythonPythonPythonPythonPython" であれば、Pythonを抽出し、5を返し、
11
- text = "DjangoDjangoDjangoDjango" であDjangoを抽出、4を返したいです。
17
+ text1~text5をそぞれ解決できるコードではなくまとめて1つの関数で解決できるようにしたいです。
18
+ 解決策は、正規表現でなくとも、ライブラリ等でも何でも構いません。
12
19
 
13
- ```python
14
- text.count('Python')
15
- text.count('Django')
16
- ```
17
-
18
- 上記のような形ではなく、どちらにも対応できるようなコードを書きたいです。
19
-
20
- text = "aaaaaaaaa" のようなものであれば、正規表現で対応できるのですが、単語レベルになるとやり方がわからず。。。
21
-
22
-
23
- 解決策は、正規表現でなくとも、ライブラリ等でも何でも構いません。
24
20
  どなたかお分かりになる方ご教示いただけますと幸いです。
25
21
  宜しくお願いします。