私は頻繁に手で変更しなければならないいくつかの数値のリストを持っています。これを実行すると、出力として (#2) が得られます。私がやりたいことは、var xyz が新しいセクションに到達するたびに変更され、次のセクションに到達するまで新しい var でラベルを付け続けることです。(#3) 私の質問が明確であることを願っています。(どうやらそうではないようです...) 私は何か非常に間違ったことをしていることを知っています。したがって、ヒントをいただければ幸いです。
(19.32 spec03 20.56 2 20.84 3 39.32 spec04 30.56 2 30.84 3)
(19.32 スペック03 20.56 スペック06 20.84 スペック06 39.32 スペック04 30.56 スペック06 30.84 スペック06 )
( 19.32 spec03 20.56 spec03 20.84 spec03 39.32 spec04 30.56 spec04 30.84 spec04) [太字の値は新しいセクションの最初のインスタンスです]
var xyz = 'spec06';
var str = '19.32 spec03 20.56 2 20.84 3';
var patt1 = /([0-9]+\.[0-9]+\t)([0-9]+)/;
var patt2 = /([0-9]+\.[0-9]+\t)(spec[0-9]+)/;
function cleaner() {
for (i = 1; i <= 150; i++) {
//xyz = str.replace(patt2, '$1') <-- this crashes the program...?
str = str.replace(patt1, '$1' + xyz)
}
}
ライブバージョンのメモ: 応答するには、タブで区切られた入力が必要です...
here is a sample of some input i would be using: 278.091182 spec35 279.300274 2 279.842670 3 280.204268 4 281.006563 5 281.503759 6 282.339954 7 282.532053 8 282.690252 9 283.300448 10 285.357034 11 285.718632 12 286.407927 e 287.809118 spec36 288.747012 2 288.927811 3 289.266809 4