ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 7 · 4లో పాఠం 4కోర్సులో 28/32~10 min
మాడ్యూల్ పాఠాలు (4/4)

రెజెక్స్‌తో విభజించండి

String.prototype.split(separator) స్థిరమైన స్ట్రింగ్‌ను మాత్రమే అంగీకరిస్తుంది సెపరేటర్‌గా regex కూడా. ఇది టోకనైజ్ చేయడానికి శక్తివంతమైన సాధనంగా చేస్తుంది నిర్మాణాత్మక వచనం.

JS
'uno, due,tre  quattro'.split(/[,\s]+/);
// ["uno", "due", "tre", "quattro"]

రీజెక్స్ /[,\s]+/ "కామా లేదా వైట్‌స్పేస్‌లో ఒకటి లేదా అంతకంటే ఎక్కువ" సరిపోలుతుంది: విభజన ఏదైనా సమ్మేళనం డీలిమిటర్‌పై విడిపోతుంది.

సాధారణ కేసులు

  • అనుమతించబడిన CSV: text.split(/\s*,\s*/) కామాల చుట్టూ ఖాళీలను నిర్వహించడానికి.
  • నివ్ టోకెనైజర్: పదాలను సంగ్రహించడానికి text.split(/\s+/).
  • సెపరేటర్‌ని ఉంచండి: regex క్యాప్చర్ గ్రూపులను కలిగి ఉంటే, ది సమూహాల కంటెంట్ ఫలితాల శ్రేణిలో చేర్చబడింది.
JS
'a=1; b=2; c=3'.split(/(;)\s*/);
// ["a=1", ";", "b=2", ";", "c=3"]

() సమూహం లేకుండా సెమికోలన్ అదృశ్యమవుతుంది. (;)తో మీరు దానిని ఉంచుకోండి ఫలితంగా.

స్ప్లిట్ ఆపరేషన్లలో సెపరేటర్లను సంరక్షించడం

మీరు క్యాప్చర్ కుండలీకరణాల్లో స్ప్లిట్ సెపరేటర్‌లను ఉంచినట్లయితే, String.prototype.split యొక్క అవుట్‌పుట్ సెపరేటర్‌లను విస్మరించడానికి బదులుగా తుది శ్రేణిలోని మూలకాలుగా చేర్చబడుతుంది.

దీనిని ప్రయత్నించండి

వ్యాయామం#regex.m7.l4.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

ప్రతి అనుమతి CSV సెపరేటర్‌ను కనుగొనండి: దాని చుట్టూ ఐచ్ఛిక ఖాళీలతో కామా. ఈ విధంగా మీరు జాబితాను టోకనైజ్ చేయడానికి స్ప్లిట్‌లో ఉపయోగించవచ్చు.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

ఏదైనా ఐచ్ఛిక ఖాళీలను గ్రహించడానికి కామాకు ముందు మరియు తర్వాత \\s*ని ఉపయోగించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం సమీక్షించండి

వ్యాయామం#regex.m7.l4.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

ప్రతి 'స్పేస్ లేదా సెమికోలన్' సెపరేటర్‌ను కనుగొనండి (ఒకటి లేదా అంతకంటే ఎక్కువ). ఈ విధంగా విభజన వచనాన్ని పదాలుగా టోకనైజ్ చేస్తుంది.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

కలపండి \\s మరియు ; + క్వాంటిఫైయర్‌తో తరగతి [\\s;]లో.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

అదనపు సవాలు

వ్యాయామం#regex.m7.l4.e3
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

Write a regex to use in a split that separates numbers while keeping math operators `+`, `-`, `*`, `/` as elements of the array.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

Enclose the math operators character class in capture parentheses to preserve them in the split array.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది