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

質問編集履歴

3

誤字修正

2019/08/10 02:20

投稿

HAGI-04
HAGI-04

スコア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

ベストアンサー決定後、試行錯誤により問題が解決したので方法と結果を追記しました

2019/08/10 02:20

投稿

HAGI-04
HAGI-04

スコア3

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

私の環境と、実際にエスケープシーケンスを削除したい文章(例文)、実行結果を追記しました

2019/08/10 02:17

投稿

HAGI-04
HAGI-04

スコア3

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
  また、どうすれば「¥」から始まる文字列を指定できるでしょうか?