質問編集履歴

1

詳細情報を追記

2017/01/11 14:57

投稿

nnahito
nnahito

スコア2004

test CHANGED
File without changes
test CHANGED
@@ -19,3 +19,205 @@
19
19
  ご存じの方がいらっしゃいましたら、ご教示ください。
20
20
 
21
21
  よろしくお願いいたします。
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+ # 追記
32
+
33
+ テンパりすぎて、コードの掲載などを失念しておりました。
34
+
35
+ 追記いたします。
36
+
37
+
38
+
39
+ ---
40
+
41
+
42
+
43
+ 【やりたいこと】
44
+
45
+ 文章の入った変数から、
46
+
47
+ 開始文字から終了文字までを抜き出したい。
48
+
49
+
50
+
51
+
52
+
53
+ 開始文字:「
54
+
55
+ 終了文字:」
56
+
57
+ 文章:「会話文1」地の文「会話文2」
58
+
59
+ 理想結果:「会話文1」「会話文2」
60
+
61
+
62
+
63
+
64
+
65
+ ---
66
+
67
+
68
+
69
+ 【利用環境】
70
+
71
+ - MacOS X Yosemite
72
+
73
+ - FireFox 50.0.1
74
+
75
+ - CodeMirror 5.22.1
76
+
77
+ - Electron v1.4.12
78
+
79
+
80
+
81
+
82
+
83
+ 【手順】
84
+
85
+ Electronウインドウ上のCodeMirrorを反映させたTextAreaから文字列を取得。
86
+
87
+ その中から会話文をのみを取得。
88
+
89
+
90
+
91
+
92
+
93
+ 【状況】
94
+
95
+ Electronウインドウ上のCodeMirrorを反映させたTextAreaから文字列を取得はできており、変数に格納できている。
96
+
97
+ 開始文字列(「)と、終了文字列(」)も取得できている。
98
+
99
+
100
+
101
+ それらを以下のオリジナルの関数に投げ、配列として結果を返したい。
102
+
103
+
104
+
105
+ なお、
106
+
107
+ - text:全文章
108
+
109
+ - from_text:開始文字列
110
+
111
+ - to_text:終了文字列
112
+
113
+
114
+
115
+ としています。
116
+
117
+
118
+
119
+ ```JavaScript
120
+
121
+ function createLinesCount(text, from_text, to_text){
122
+
123
+ var start = 0; // 検索開始位置
124
+
125
+ var end = 0; // 検索終了位置
126
+
127
+ var lines = []; // 抜き出した文字列
128
+
129
+
130
+
131
+ // 検索終了文字が指定されていなければ、改行コードを終了文字にする
132
+
133
+ if ( to_text == "" ) to_text = "\n";
134
+
135
+
136
+
137
+ while( 1 ){
138
+
139
+ // 検索開始位置を取得
140
+
141
+ start = text.indexOf(from_text, start);
142
+
143
+
144
+
145
+ if ( start === -1 ) break;
146
+
147
+
148
+
149
+ // 検索終了位置を取得
150
+
151
+ end = start + to_text.length;
152
+
153
+ end = text.indexOf(to_text, end) + to_text.length;
154
+
155
+
156
+
157
+ // 文字の抜き出し
158
+
159
+ var line = text.substring(start, end);
160
+
161
+
162
+
163
+ // 抜き出した文字列を配列に追加
164
+
165
+ lines[lines.length] = line;
166
+
167
+
168
+
169
+ start = start + end;
170
+
171
+
172
+
173
+ }
174
+
175
+
176
+
177
+ return lines;
178
+
179
+
180
+
181
+ }
182
+
183
+ ```
184
+
185
+
186
+
187
+
188
+
189
+ 【結果】
190
+
191
+ ●全文章
192
+
193
+ 「あ」
194
+
195
+ 「漢」
196
+
197
+ 「よ」
198
+
199
+ 「alpha」
200
+
201
+
202
+
203
+ ●開始文字列
204
+
205
+
206
+
207
+
208
+
209
+ ●終了文字列
210
+
211
+
212
+
213
+
214
+
215
+ ●取得結果
216
+
217
+ ![イメージ説明](4bfb0dd5335afb10d23e4d0aa86f2cf8.png)
218
+
219
+
220
+
221
+
222
+
223
+ よろしくお願いいたします。