質問編集履歴
3
誤字修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
---
|
49
49
|
### 追記
|
50
50
|
以下のように一度raw文字列に直すことで"\"から始まるエスケープシーケンスを検出できました。
|
51
|
-
raw文字列に直した際、各単語は「''」で囲まれ
|
51
|
+
raw文字列に直した際、各単語は「''」で囲まれていたので、「'\」から始まる単語を排除するように書いています。
|
52
52
|
```python
|
53
53
|
# 分かち書きにする
|
54
54
|
tmp= t.tokenize(corpus, wakati = True)
|
2
ベストアンサー決定後、試行錯誤により問題が解決したので方法と結果を追記しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -43,4 +43,30 @@
|
|
43
43
|
|
44
44
|
出力からわかるように、リスト中の'\n'や'\n\n'などが削除されることを期待していましたが、削除はされていませんでした。
|
45
45
|
なぜこのコードは正しく機能しないのでしょうか?
|
46
|
-
また、どうすれば「¥」から始まる文字列を指定できるでしょうか?
|
46
|
+
また、どうすれば「¥」から始まる文字列を指定できるでしょうか?
|
47
|
+
|
48
|
+
---
|
49
|
+
### 追記
|
50
|
+
以下のように一度raw文字列に直すことで"\"から始まるエスケープシーケンスを検出できました。
|
51
|
+
raw文字列に直した際、各単語は「''」で囲まれるていたので、「'\」から始まる単語を排除するように書いています。
|
52
|
+
```python
|
53
|
+
# 分かち書きにする
|
54
|
+
tmp= t.tokenize(corpus, wakati = True)
|
55
|
+
|
56
|
+
print(tmp)
|
57
|
+
|
58
|
+
print('='*50)
|
59
|
+
|
60
|
+
#エスケープシーケンスを削除する
|
61
|
+
word_list = []
|
62
|
+
for word in tmp:
|
63
|
+
if not repr(word).startswith('\'\'):
|
64
|
+
word_list.append(word)
|
65
|
+
|
66
|
+
print(word_list)
|
67
|
+
```
|
68
|
+
```output
|
69
|
+
['私', '達', 'は', '、', 'エンジニア', 'が', '抱える', '問題', 'の', '解決', 'を', '全力', 'で', 'サポート', 'し', 'ます', '。', '\n', '質問', '・', '回答', 'によって', ' ', '生まれ', 'た', 'コンテンツ', 'を', '、', '同じ', '問題', 'を', '持っ', 'た', '人', 'に', '最適', 'な', '形', 'で', '届け', 'ます', '。', '\n\n', 'プログラミング', 'に関して', '、', 'わから', 'ない', 'こと', 'が', 'あれ', 'ば', '是非', 'teratail', 'で', '質問', 'し', 'て', 'ください', '。', '\n', 'あなた', 'が', 'わかる', 'こと', 'が', 'あれ', 'ば', '、', '是非', '解決', '方法', 'を', 'シェア', 'し', 'て', '解決', 'の', '手助け', 'を', 'し', 'て', 'ください', '。', '\n\n', 'あなた', 'の', '全て', 'の', '行動', 'が', '、', 'いつか', '多く', 'の', '日本', 'の', 'エンジニア', 'の', '為', 'に', 'なり', 'ます', '。']
|
70
|
+
==================================================
|
71
|
+
['私', '達', 'は', '、', 'エンジニア', 'が', '抱える', '問題', 'の', '解決', 'を', '全力', 'で', 'サポート', 'し', 'ます', '。', '質問', '・', '回答', 'によって', ' ', '生まれ', 'た', 'コンテンツ', 'を', '、', '同じ', '問題', 'を', '持っ', 'た', '人', 'に', '最適', 'な', '形', 'で', '届け', 'ます', '。', 'プログラミング', 'に関して', '、', 'わから', 'ない', 'こと', 'が', 'あれ', 'ば', '是非', 'teratail', 'で', '質問', 'し', 'て', 'ください', '。', 'あなた', 'が', 'わかる', 'こと', 'が', 'あれ', 'ば', '、', '是非', '解決', '方法', 'を', 'シェア', 'し', 'て', '解決', 'の', '手助け', 'を', 'し', 'て', 'ください', '。', 'あなた', 'の', '全て', 'の', '行動', 'が', '、', 'いつか', '多く', 'の', '日本', 'の', 'エンジニア', 'の', '為', 'に', 'なり', 'ます', '。']
|
72
|
+
```
|
1
私の環境と、実際にエスケープシーケンスを削除したい文章(例文)、実行結果を追記しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,14 @@
|
|
1
|
-
python3で文章から、エスケープ文字「\」から始まるエスケープシーケンス(改行\nなど)をすべて削除しようと思い、以下のように実行しました。
|
1
|
+
python3で以下の文章から、エスケープ文字「\」から始まるエスケープシーケンス(改行\nなど)をすべて削除しようと思い、以下のように実行しました。
|
2
|
+
(anaconda3のjupyter notebookを使っています)
|
3
|
+
```corpus
|
4
|
+
私達は、エンジニアが抱える問題の解決を全力でサポートします。
|
5
|
+
質問・回答によって 生まれたコンテンツを、同じ問題を持った人に最適な形で届けます。
|
6
|
+
|
7
|
+
プログラミングに関して、わからないことがあれば是非teratailで質問してください。
|
8
|
+
あなたがわかることがあれば、是非解決方法をシェアして解決の手助けをしてください。
|
9
|
+
|
10
|
+
あなたの全ての行動が、いつか多くの日本のエンジニアの為になります。
|
11
|
+
```
|
2
12
|
```python
|
3
13
|
from janome.tokenizer import Tokenizer
|
4
14
|
|
@@ -16,12 +26,21 @@
|
|
16
26
|
# 分かち書きにする
|
17
27
|
tmp= t.tokenize(corpus, wakati = True)
|
18
28
|
|
19
|
-
|
29
|
+
print(tmp)
|
20
|
-
word_list = [word for word in tmp if (word.startswith('\'))]
|
21
30
|
|
31
|
+
print('='*50)
|
32
|
+
|
33
|
+
# 空白を消す
|
34
|
+
word_list = [word for word in tmp if not (word.startswith('\'))]
|
35
|
+
|
22
36
|
print(word_list)
|
23
37
|
```
|
38
|
+
```output
|
39
|
+
['私', '達', 'は', '、', 'エンジニア', 'が', '抱える', '問題', 'の', '解決', 'を', '全力', 'で', 'サポート', 'し', 'ます', '。', '\n', '質問', '・', '回答', 'によって', ' ', '生まれ', 'た', 'コンテンツ', 'を', '、', '同じ', '問題', 'を', '持っ', 'た', '人', 'に', '最適', 'な', '形', 'で', '届け', 'ます', '。', '\n\n', 'プログラミング', 'に関して', '、', 'わから', 'ない', 'こと', 'が', 'あれ', 'ば', '是非', 'teratail', 'で', '質問', 'し', 'て', 'ください', '。', '\n', 'あなた', 'が', 'わかる', 'こと', 'が', 'あれ', 'ば', '、', '是非', '解決', '方法', 'を', 'シェア', 'し', 'て', '解決', 'の', '手助け', 'を', 'し', 'て', 'ください', '。', '\n\n', 'あなた', 'の', '全て', 'の', '行動', 'が', '、', 'いつか', '多く', 'の', '日本', 'の', 'エンジニア', 'の', '為', 'に', 'なり', 'ます', '。']
|
40
|
+
==================================================
|
41
|
+
['私', '達', 'は', '、', 'エンジニア', 'が', '抱える', '問題', 'の', '解決', 'を', '全力', 'で', 'サポート', 'し', 'ます', '。', '\n', '質問', '・', '回答', 'によって', ' ', '生まれ', 'た', 'コンテンツ', 'を', '、', '同じ', '問題', 'を', '持っ', 'た', '人', 'に', '最適', 'な', '形', 'で', '届け', 'ます', '。', '\n\n', 'プログラミング', 'に関して', '、', 'わから', 'ない', 'こと', 'が', 'あれ', 'ば', '是非', 'teratail', 'で', '質問', 'し', 'て', 'ください', '。', '\n', 'あなた', 'が', 'わかる', 'こと', 'が', 'あれ', 'ば', '、', '是非', '解決', '方法', 'を', 'シェア', 'し', 'て', '解決', 'の', '手助け', 'を', 'し', 'て', 'ください', '。', '\n\n', 'あなた', 'の', '全て', 'の', '行動', 'が', '、', 'いつか', '多く', 'の', '日本', 'の', 'エンジニア', 'の', '為', 'に', 'なり', 'ます', '。']
|
42
|
+
```
|
24
43
|
|
25
|
-
|
44
|
+
出力からわかるように、リスト中の'\n'や'\n\n'などが削除されることを期待していましたが、削除はされていませんでした。
|
26
45
|
なぜこのコードは正しく機能しないのでしょうか?
|
27
46
|
また、どうすれば「¥」から始まる文字列を指定できるでしょうか?
|