-1

Hive に格納されている文字列があり、 (または他の文字)の 4番目の出現でテキストを分割したいと考えています。,

誰かがこれを行うための正規表現についてヒントをくれれば、本当に感謝しています。

本文は以下です。

The Band,The Band,,Up On Cripple Creek (2000 Digital Remaster),2000,Greatest Hits,The Band,,The Weight (2000 Digital Remaster),2003,Rhythm Of The Rain,The Cascades,,Rhythm Of The Rain ( LP バージョン)、2005 年、クロニクル ボリューム ワン、クリーデンス クリアウォーター リバイバル、雨を止める人、1976 年、コンプリート サン シングル、vol. 1、ジョニー・キャッシュ、アイ・ウォーク・ザ・ライン、2001、グレイテスト・ヒッツ、ボブ・シーガー、アゲインスト・ザ・ウィンド、1980、彼らのグレイテスト・ヒッツ、イーグルス、ライイン・アイズ、1975、ジョニー・ホートンのグレイテスト・ヒッツ、ジョニー・ホートン、ノーストゥ・アラスカ、1987、スーパー・ヒッツ、マーティ・ロビンス、ユー・ガヴ・ミー・ア・マウンテン、1969、グレイテスト・ヒッツ、ボブ・シーガー、ナイト・ムーヴス、1976、ハロー・ダーリン15 #1ヒッツ、コンウェイ・トゥイティ、イッツ・オンリー・メイク・ビリーブ、2003 、アンソロジー、ケニー・ロジャース&ザ・ファースト・エディション、ルビー、ドント・テイク・ユア・ラヴ・トゥ・タウン、1996年、グレイテスト・ヒッツ、ニール・ヤング、オールドマン、2004年、ハーベスト、ニール・ヤング、ハート・オブ・ゴールド、

4

3 に答える 3

0

正規表現...

/         # Start regex
(         # Start group
[^,]*,    # not `,` - zero or more times (*) followed by `,`
){4}      # repeat group four times
/g        # match globally (using String.match)

一緒に...

console.log( str.match(/([^,]*,){4}/g) );
于 2013-03-30T00:50:01.673 に答える
0
^([^,]*,[^,]*,[^,]*,[^,]*,)(.*)$

1) 4 番目のカンマまでの部分と 2) 残りの文字列の 2 つの文字列が得られるはずです。

于 2013-03-30T00:59:38.520 に答える
0

カンマで区切って、単純なループで再び結合します...

var arr, i, out, str;

str = "The Band,The Band,,Up On Cripple Creek (2000 Digital Remaster),2000,Greatest Hits,The Band,,The Weight (2000 Digital Remaster),2003,Rhythm Of The Rain,The Cascades,,Rhythm Of The Rain (LP Version),2005,Chronicle Volume One,Creedence Clearwater Revival,,Who'll Stop the Rain,1976,The Complete Sun Singles, vol. 1,Johnny Cash,,I Walk the Line,2001,Greatest Hits,Bob Seger,,Against The Wind,1980,Their Greatest Hits,The Eagles,,Lyin' Eyes,1975,Johnny Horton's Greatest Hits,Johnny Horton,,North To Alaska,1987,Super Hits,Marty Robbins,,You Gave Me A Mountain,1969,Greatest Hits,Bob Seger,,Night Moves,1976,Hello Darlin' 15 #1 Hits,Conway Twitty,,It's Only Make Believe,2003,Anthology,Kenny Rogers & The First Edition,,Ruby, Don't Take Your Love To Town,1996,Greatest Hits,Neil Young,,Old Man,2004,Harvest,Neil Young,,Heart Of Gold,2009,The Very Best Of,The Springfields,,Silver Threads And Golden Needles,2011,The Best Of The Statler Brothers,The Statler Brothers,,Susan When She Tried,1987,The Definitive Collection,The Statler Brothers,,The Class Of '57,2005,The Definitive Collection,The Statler Brothers,,I'll Go To My Grave Loving You,2005,Greatest Hits: 1974-1978,Steve Miller Band,,The Joker,2006,Greatest Hits: 1974-1978,Steve Miller Band,,Rock'n Me,2006,Early Girl 7\" Hits,Gale Garnett,,We'll Sing In The Sunshine,2010,King of the Road,Various Artists,,I Can't Stop Loving You - Don Gibson,2004,America's Troubador,Willie Nelson,,Angel Flying To Close To The Ground,2005,Their Greatest Hits,The Eagles,,Take It To The Limit,1975,Their Greatest Hits,The Eagles,,Desperado,1973,Highwayman,The Highwaymen,,Desperados Waiting For A Train,1985,Super Hits,Marty Robbins,,My Woman, My Woman, My Wife,1970,Super Hits,Marty Robbins,,Some Memories Just Won't Die,1982,Highwayman,The Highwaymen,,Committed To Parkview,1985,Greatest Hits - Roy Clark,Roy Clark,,Yesterday When I Was Young,1995,Greatest Hits - Roy Clark,Roy Clark,,I Never Picked Cotton,1995,Simon & Garfunkel's Greatest Hits,Simon & Garfunkel,,Bridge Over Troubled Water [Live],1970,Collection,The Oak Ridge Boys,,Y'all Come Back Saloon,1977,Super Hits,Vern Gosdin,,Chiseled In Stone,1987,Super Hits,Vern Gosdin,,Who You Gonna Blame It On This Time,1987,The Very Best Of John Denver [Disc 2],John Denver,,Rocky Mountain High,1972,The Very Best Of John Denver [Disc 2],John Denver,,Take Me Home, Country Roads,1971,Souvenirs,Vince Gill,,Never Knew Lonely,1995,Souvenirs,Vince Gill,,When I Call Your Name,1995,Souvenirs,Vince Gill,,Pocket Full Of Gold,1995,Greatest Hits - Waylon Jennings,Waylon Jennings,,Bob Wills Is Still King,2000,Greatest Hits - Waylon Jennings,Waylon Jennings,,Just To Satisfy You,2000";

arr = str.split(/,/);

out = [];

i = 0;

while (i < arr.length - 4) {
  i += 4;
  out.push("" + arr[i] + ", " + arr[i + 1] + ", " + arr[i + 2] + ", " + arr[i + 3]);
}

console.log(out);
于 2013-03-30T01:35:41.747 に答える