2017-02-22 5 views
-3

どのようにして 'textarea'のすべての行を取得し、それらのすべてを配列に分割できますか?たとえば、次のようにJavaScript - textarea、各ハッシュの後にすべての行の文字列を配列に分割します。

#first name #id #mark 
#second name #id #mark 
#third name #id #mark 

はので、私はすべての行でも、民間の配列にすべてのハッシュ「#」の後の行のテキストを分割する必要があります。私はこのようなテキストエリアに3つのラインを持っています。

+1

は皆を助けます。あなたが試したこと、なぜ があなたのニーズを満たしていなかったのかを教えてください。これは、あなたが時間をかけて自分自身を助けようと試みたことを示しています。答えが明白であることを忘れないでください。 そしてもっと重要なことは、 もご覧ください:[ask] – j08691

+0

すべての要素を1つの配列の中に入れたいですか?しかし、「すべてのライン」はどういう意味ですか? –

+0

はい、すべての行で同じプロセスを実行することを意味します。 –

答えて

1

idでテキストエリアを指定し、行とアイテムの文字列を分割することができます。

var content = document.getElementById('area').value, 
 
    result = content.split('\n').map(function (a) { 
 
     return a.split(/\s?#/).slice(1); 
 
    }); 
 
    
 
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
<textarea id="area">#first name #id #mark 
 
#second name #id #mark 
 
#third name #id #mark</textarea>

+0

ありがとう、それは私が必要なものです –

1

私は遅すぎたように思えるが、とにかく、ここに行きます。

var data = document.getElementById('txt').value.split('\n'), 
 
    solution = data.map(v => v.replace(/^#|\s(?=#)/g, '').split('#')); 
 

 
console.log(solution);
.as-console-wrapper { max-height: 100% !important; top: 0; }
<textarea cols='30' rows='10' id='txt'>#first name #id #mark 
 
#second name #id #mark 
 
#third name #id #mark</textarea>

+0

あなたの助けをありがとうございます:) –

+0

@medomedoそれはニーナのソリューションの3行対3行です。ベストアンサーを変更することを検討してください(: –

0

これを試してください:あなたの研究を共有

var txt = $(selector).val(); 
var txtArray = txt.split('\n').map(function(line){ 
    line = line.trim(); 
    return line.split('#').map(function(itemHash){ 
     return itemHash.trim(); 
    }).filter(function(itemHash){ 
     return itemHash != "" 
    }); 
}).filter(function(line){ 
    return line != "" 
}); 

https://jsfiddle.net/idkc/e3r79wm4/

関連する問題