文字列を特定の文字で区切りながら分割するには?
次のような文字列があります。
'john smith~123 Street~Apt 4~New York~NY~12345'
JavaScript を使用して、この文字列を以下のように解析する最速の方法は?
var name = "john smith";
var street= "123 Street";
//etc...
513
15
次のような文字列があります。
'john smith~123 Street~Apt 4~New York~NY~12345'
JavaScript を使用して、この文字列を以下のように解析する最速の方法は?
var name = "john smith";
var street= "123 Street";
//etc...
JavaScriptのString.prototype.split`関数を使用します。
jQueryは必要ありません。
ECMAScript6
ES6
によると、クリーンな方法は配列を破壊することです。<! -- スニペットを開始します。 js hide. false console. true babel. true -->.
一番簡単な方法ではないにしても、これはこれでいいんじゃないかな。
ES2015に対応するために、デストラクチャリングを使用して更新しました。
JavaScriptのsubstrやsplitを参考にしてみてはいかがでしょうか。
まあ、一番簡単な方法は、次のようなものでしょう。
スプリッターが見つかった場合は、**のみ
割り勘
他の場合は 同じ文字列 を返します。
のようになります。 関数 SplitTheString(ResultStr) { のようになっています。 if (ResultStr != null) { を使用しています。 var SplitChars = '~'. となります。 if (ResultStr.indexOf(SplitChars) >= 0) { >.のようになります。 var DtlStr = ResultStr.split(SplitChars). >. var name = DtlStr[0]. となっています。 var street = DtlStr[1].
テキストを分割するには
split
を用いることができる。別の方法として、以下のように
match
を使うこともできます。<! -- スニペットを開始します。 js hide. false -->.
<! -- end snippet -->.
正規表現
[^~]+
は~
を除くすべての文字にマッチし、マッチした文字を配列で返します。 そして、そこからマッチした文字を抽出することができます。みたいな感じで。
おそらく最も簡単になるだろう
Zachはこれが正解だった... 彼の方法を使えば、一見"多次元". 配列を作ることもできます。 JSFiddle http://jsfiddle.net/LcnvJ/2/ で簡単な例を作ってみました。
この
string.split("~")[0];
は物事を成し遂げる。ソースコードを参照してください。 String.prototype.split()][1
**カレーと関数合成を使った別の機能アプローチ。
ということで、まずは分割関数ですね。 この
"john smith~123 Street~Apt 4~New York~NY~12345"
をこの["john smith", "123 Street", "Apt 4", "New York", "NY", "12345"]
にしたいと思います。これで、専用の
splitByTilde
関数を使うことができるようになりました。 例最初の要素を取得するには、
list[0]
演算子を使います。 それでは、first
関数を作ってみましょう。アルゴリズムは コロンで分割し、与えられたリストの最初の要素を取得します。 そこで、これらの関数をコンパイルして最終的な
getName
関数を構築することができる。 reduceを用いた
compose`関数の構築。そして、これを使って
splitByTilde
とfirst
関数を作成しています。[1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
Try in Plain Javascript
このコードを使用してください
カンマの分割の質問はこの質問と重複しているので、ここに追加します。
ある文字で分割したい場合や、その文字に続く余分な空白を扱いたい場合、カンマでよく発生するような場合は、
replace
を使ってからsplit
を使うことができます。JavaScript. 文字列を配列に変換する JavaScriptの分割
<! -- スニペットを開始します。 js hide. false console. true babel. false -->.
<! -- end snippet -->.
https://www.tutsmake.com/javascript-convert-string-to-array-javascript/