So teilen Sie eine durch Kommas getrennte Zeichenfolge auf und verarbeiten sie in einer Schleife mithilfe von JavaScript

Lesezeit: 3 Minuten

Benutzeravatar von DEVOPS
ENTWICKLER

Wie teile ich eine durch Kommas getrennte Zeichenfolge auf und verarbeite sie in einer Schleife mit JavaScript?

  • Mögliches Duplikat von Wie teile ich eine Zeichenfolge und unterbreche sie an einem bestimmten Zeichen?

    – Fuzzybear

    20. April 2017 um 12:38

  • Sieht nicht wie ein Duplikat aus. Hier ist comma separated string

    – vitaliis

    23. Februar 2022 um 17:12 Uhr

Benutzeravatar von kzh
kzh

Meine Meinung: Ich füge Trimmen hinzu, um die anfänglichen Leerzeichen in der Antwort von sAc zu entfernen.

var str="Hello, World, etc";
var str_array = str.split(',');

for(var i = 0; i < str_array.length; i++) {
   // Trim the excess whitespace.
   str_array[i] = str_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
   // Add additional code here, such as:
   alert(str_array[i]);
}

Bearbeiten:

Nachdem ich zu dieser Antwort mehrere positive Stimmen erhalten hatte, wollte ich noch einmal darauf zurückkommen. Wenn Sie durch Komma teilen und eine Trimmoperation ausführen möchten, können Sie dies aufgrund der Tatsache in einem Methodenaufruf ohne explizite Schleifen tun split wird auch einen regulären Ausdruck als Argument annehmen:

'Hello, cruel , world!'.split(/\s*,\s*/);
//-> ["Hello", "cruel", "world!"]

Bei dieser Lösung werden jedoch der Anfang des ersten Elements und das Ende des letzten Elements nicht gekürzt, was normalerweise kein Problem darstellt.

Und um die Frage bezüglich der Verarbeitung in einer Schleife zu beantworten, ob Ihre Zielbrowser ES5-Array-Extras wie das unterstützen map oder forEach Methoden, dann könnten Sie einfach Folgendes tun:

myStringWithCommas.split(/\s*,\s*/).forEach(function(myString) {
    console.log(myString);
});

  • Sie könnten einen Beschnitt hinzufügen, um den führenden/nachgestellten Leerraum zu berücksichtigen 'Hello, cruel , world!'.trim().split(/\s*,\s*/). Funktioniert nicht im IE8

    – Michael David Watson

    14. Mai 2015 um 20:41


  • Wenn wir eine leere Zeichenfolge haben wie ''.split(/\s*,\s*/); Ergebnisse str.length === 1 statt 0, wie lässt sich das beheben?

    – Walter Chapilliken – wZVanG

    12. Juli 2015 um 8:56


So was:

var str="Hello, World, etc";
var myarray = str.split(',');

for(var i = 0; i < myarray.length; i++)
{
   console.log(myarray[i]);
}

  • Wäre das Argument für „aufteilen“ nicht „,“?

    – MD Sayem Ahmed

    14. Juli 2010 um 10:06

  • @Archangel: Das ist es, schon vor deinem Kommentar behoben.

    – Sarfraz

    14. Juli 2010 um 10:07

  • Was ist dieses „console.log“ und welchen Nutzen hat es?

    – ENTWICKLER

    14. Juli 2010 um 10:07

  • @Lerner: console.log ist eine Protokollierungsfunktion, die zumindest von Firebug- und WebKit-basierten Browsern verfügbar gemacht wird. Es ist im Allgemeinen weniger aufdringlich als das Auftauchen von Warndialogen. Ein Nachteil besteht darin, dass Sie daran denken müssen, entweder die Aufrufe in der Produktion zu entfernen oder einen Leerwert zu definieren console.log Funktion, da diese nicht überall verfügbar sein wird.

    – Matthew Crumley

    14. Juli 2010 um 15:26

Benutzeravatar von Anax
Eine Axt

Versuchen Sie es mit dem folgenden Snippet:

var mystring = 'this,is,an,example';
var splits = mystring.split(",");
alert(splits[0]); // output: this

Bearbeiten:

Mit dem folgenden Snippet können Sie jedes Element aufteilen, bearbeiten und die Ergebnisse in einem Array abrufen:

const string = "this,is,a,string";
const array = string.split(",")
  .map((item, i) => `Item ${i} => ${item}`);
console.log(array)

  • ich denke du meinst alert(splits[0]);

    – Andy E

    14. Juli 2010 um 10:11

  • @Andy E: Tatsächlich war es bereits behoben, bevor ich Ihren Kommentar gelesen habe, aber trotzdem gut erkannt.

    – Eine Axt

    14. Juli 2010 um 10:16 Uhr

Bitte führen Sie den folgenden Code aus, vielleicht hilft er Ihnen 🙂

var str = "this,is,an,example";
var strArr = str.split(',');
var data = "";
for(var i=0; i<strArr.length; i++){
  data += "Index : "+i+" value : "+strArr[i]+"<br/>";
}
document.getElementById('print').innerHTML = data;
<div id="print">
</div>

Sie können den folgenden Ausschnitt ausprobieren:

var str = "How are you doing today?";
var res = str.split("o");
console.log("My Result:",res)

und deine Ausgabe so

My Result: H,w are y,u d,ing t,day?

Benutzeravatar von Adriano Campos
Adriano Campos

Beispiel für die Verwendung von async/await in einer forEach-Schleife:

const files = "name1,name2,name3"

if (files.length) {
          await forEachAsync(files.toString().split(','), async (item) => {
    
        console.log(item)
    });

1451410cookie-checkSo teilen Sie eine durch Kommas getrennte Zeichenfolge auf und verarbeiten sie in einer Schleife mithilfe von JavaScript

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy