質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

4回答

1797閲覧

【問題】文字列をsplitなどの関数を使用しないで区切る方法を教えて頂きたいです。

OOO_777

総合スコア50

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/12/19 05:01

編集2017/12/19 05:09

###前提・実現したいこと
例)Please tell me the program of this problem

例えば、上記のような英文を関数を使用しないで、
単語を別々に区切るプログラムは可能でしょうか。
教えていただけると幸いです。
※javascript、rubyで教えて頂けれると助かります。

修正1:区切られた単語ごと別々の変数に格納する。もしくわ別々に区切られた単語を配列に格納する。どちらかの出力結果にしたいです。
修正2:関数は使用不可でお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KojiDoi

2017/12/19 05:04

「区切る」の意味が分かりません。単語ごとに別々の変数に格納したいといったことですか? その辺の扱いは言語によって全然違うので、使いたい言語、「区切った」データを何に使いたいかを明らかにしないと、なかなか適切な回答は得られにくいと思います。
ozwk

2017/12/19 05:05

split"など"の関数 : どういうものなら使っていいんですか?
x_x

2017/12/19 05:05

「splitなどの関数」には何が含まれますか?
OOO_777

2017/12/19 05:10

コメントありがとうございます。修正させていただきました。
mahoken

2017/12/19 05:17

関数使わない時点でプログラムじゃない気がします。下の回答の方もmatch使われてますしね
KojiDoi

2017/12/19 05:18

splitもsubstrもsliceもダメとなると、rubyは知りませんがjavascriptではほぼ不可能ではないでしょうか。関数が使用不可の理由は何でしょう? ちょっと非現実的な縛りのように思えます。
OOO_777

2017/12/19 05:20

そうでしたか…関数を使用しないで出来るのかを確かめったので、特に深い意味はございません。
asm

2017/12/19 05:40

「Rubyにメソッドはあるが関数はない」って屁理屈を禁止するとしたら無理 []ですらメソッドですもの
guest

回答4

0

ベストアンサー

パズルか何かなんですかね?

JavaScript

1var text = 'Please tell me the program of this problem'; 2var i = 0; 3var result = []; 4for (var c of text) { 5 if (c === ' ') { 6 i++; 7 continue; 8 } 9 10 if (typeof result[i] === 'undefined') { 11 result[i] = c; 12 } else { 13 result[i] += c; 14 } 15} 16 17result; // 出力もできない

投稿2017/12/19 05:30

x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/12/19 05:37

> // 出力もできない www
OOO_777

2017/12/19 05:45

ご回答ありがとうございます。 参考にさせていただきます。
guest

0

javascript

1var str="Please tell me the program of this problem"; 2var r=str.match(/[^ ]+/g); 3console.log(r); 4

投稿2017/12/19 05:15

yambejp

総合スコア114839

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2017/12/19 05:18

追記された関数をつかわないという意味がよくわかりません 関数をつかわないならjavascriptもrubyもなにもできないと思います
OOO_777

2017/12/19 05:21

関数を使用しないと不可ですよね… ご回答ありがとうございます。
guest

0

文字列を1文字ずつ確認して、空白でないなら一時退避し、空白なら退避しておいたものを1単語として確保する、という流れで「関数を使わずに」分割可能です。listのpushは分割そのものの処理とは無関係です。

javascript

JavaScript

1var str = "Please tell me the program of this problem"; 2var list = []; 3var temp = ""; 4for(var i=0;i<str.length;i++) { 5 var c = str[i]; 6 if(c != ' ') { 7 temp += c; 8 } 9 else { 10 list.push(temp); 11 temp = ""; 12 } 13} 14if(temp !== "") { 15 list.push(temp); 16} 17console.log(list);

https://paiza.io/projects/2cygmJIn_7AkfXO-4OLh0g

ruby

Ruby

1s = "Please tell me the program of this problem" 2temp = "" 3list = [] 4for i in 0..s.length-1 do 5 c = s[i] 6 if c != " " then 7 temp += c 8 else 9 list.push(temp) 10 temp = "" 11 end 12end 13if temp.length > 0 then 14 list.push(temp) 15end 16puts list

https://paiza.io/projects/zWF_mZ2ug-Cz1lAPnHeUWw

投稿2017/12/19 05:34

masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2017/12/19 05:39

Rubyのc = s[i]の[i]はメソッド呼び出しじゃないですかね
OOO_777

2017/12/19 05:49

今回の問題に関しまして、私自身の興味本位での質問ですので、 上記の呼び出しはOKとさせていただきます。
OOO_777

2017/12/19 05:49

ご回答ありがとうございます。 2つ言語でのプログラムありがとうございます。
asm

2017/12/19 06:13

Rubyでは= ?: .. ... not && and || or :: 以外の演算子はメソッドで再定義されている可能性があります
guest

0

一文字づつ か確認して、 までを一つの変数に入れればよいかと。

投稿2017/12/19 05:31

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/12/19 05:31

おそかったw
OOO_777

2017/12/19 05:46

ご回答ありがとうございます。 参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問