質問編集履歴
1
質問がわかりづらかったので、変更致しました。
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
|
-
|
6
|
+
text2 = "Python123Python12PythonPythonPython"
|
7
|
+
text3 = "Python1234565aaanohtyPPy"
|
8
|
+
text4 = "テキストてきすとDjangoDjangoDjangoDjangoあPythonあ"
|
9
|
+
text5 = "PythonPythonPythonとDjangoDjangoDjangoあいうえお"
|
7
10
|
|
11
|
+
text1は、Pythonという単語が4回繰り返されているので、Pythonという単語を抽出し4を返したいです。
|
8
|
-
|
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
|
-
|
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
|
宜しくお願いします。
|