Wie bekomme ich einen Begriff vor einem Zeichen?

Benutzer7633250

Wie bekomme ich die Zahl vor 'x'?

Ich habe versucht .split('x')[0], es zu verwenden, aber es greift alles vor 'x'.

123x // Gives 123
123y+123x - // Gives 123
123x+123x - // Gives 246
J369

Ich habe eine Funktion getestet, die Regex verwendet, von der ich denke, dass sie funktioniert. Ich habe die Ergebnisse, eine Erklärung der Funktionsweise der Funktion und dann eine kommentierte Version der Funktion eingefügt.

Beachten Sie, dass dies keine komplexere Algebra behandelt, als einfache Begriffe zu addieren und zu subtrahieren. Ich würde mich dafür auf https://newton.now.sh/ beziehen , es ist eine API, die mit Vereinfachung umgehen kann (ich bin nicht verbunden).

Ergebnisse:

console.log(coefficient("-x+23x"));     // 22
console.log(coefficient("123y+123x"));  // 123
// replaces spaces
console.log(coefficient("x + 123x"));   // 124
console.log(coefficient("-x - 123x"));  // -124
console.log(coefficient("1234x-23x"));  // 1211
// doesn't account for other letters
console.log(coefficient("-23yx"));      // 1

Erläuterung:

Zuerst entfernt die Funktion Leerzeichen. Dann verwendet es eine Regex, die jede Zahlenfolge findet, auf die ein 'x' folgt. Wenn ein +/- vorangestellt ist, behält die Regex dies bei. Die Funktion durchläuft diese Zahlenfolgen und addiert sie zu einer Summe. Wenn es ein 'x' gibt, das keine Zahlen enthält, wird sein Koeffizient als -1 oder 1 angenommen.

Kommentierter Code:

function coefficient(str) {
  // remove spaces
  str = str.replace(/\s/g, '');

  // all powerful regex
  var regexp = /(\+|-)?[0-9]*x/g

  // total
  sum = 0;

  // find the occurrences of x
  var found = true;
  while (found) {
    match = regexp.exec(str);
    if (match == null) {
      found = false;
    } else {
      // treated as +/- 1 if no proceeding number
      if (isNaN(parseInt(match[0]))) {
        if (match[0].charAt(0) == "-") {
          sum--;
        } else {
          sum++;
        }
      // parse the proceeding number
      } else {
        sum += parseInt(match[0]);
      }
    }
  }
  return sum;
}

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Wie bekomme ich einen bestimmten Namen vor dem Zeichen im vollständigen Pfad in Javascript?

Wie bekomme ich schnell eine bestimmte Zeichenfolge nach und vor einem bestimmten Zeichen?

Wie bekomme ich den letzten Teil einer Zeichenfolge vor einem bestimmten Zeichen?

Wie bekomme ich eine Zeichenfolge direkt vor einem bestimmten Zeichen in SSIS 2008?

Wie bekomme ich alle Zeichen vor einem bestimmten Zeichen, während ich mit dem letzten Index in Swift5 beginne?

Wie kann ich einen Teilstring vor einem Zeichen in Python ersetzen oder maskieren?

Wie entferne ich alle Zeichen vor einem bestimmten Zeichen in Python?

Wie bekomme ich einen Knoten, der vor dem anderen liegt?

Wie kann JavaScript einen Teilstring vor einem Zeichen abrufen?

Wie bekomme ich eine Textbeschriftung vor einem Daterangepicker im Plot?

Swift: Wie bekomme ich die Zeichenfolge vor einem bestimmten Charakter?

Wie bekomme ich alle Zeilen vor einem bestimmten Index in Pandas?

C ++ Wie bekomme ich Teilzeichenfolgen nach einem Zeichen?

Wie bekomme ich mehrere Zeichen aus einem std::string

Wie entferne ich Text vor einem bestimmten Zeichen in MySQL?

Wie ersetze ich Zeichen vor und nach einem Block / Absatz?

Wie verwende ich einen regulären Ausdruck, um den Anfang einer Zeichenfolge vor einem benutzerdefinierten Zeichen in eine Gruppe einzufügen?

Wie bekomme ich das Zeichen zwischen einem Zeichen und einem Leerzeichen?

Wie suche ich einen Begriff mit einem mittleren Bindestrich in der azurblauen Suche?

Wie bekomme ich einen Link zu einem Github-Commit?

Wie bekomme ich einen Elternteil von einem Kind FK?

Wie bekomme ich einen Rückgabewert aus einem Eingabeformular?

Wie bekomme ich einen Stream von einem Bitvektor in Common Lisp?

Wie bekomme ich eine Variable in einen $ (Shell) -Befehl in einem Makefile?

Wie bekomme ich einen String von einem NSTaggedPointerString?

Wie bekomme ich einen einzelnen Datensatz in einem Join?

Wie bekomme ich einen String von einem Reader?

Wie bekomme ich einen InputStream von einem BufferedImage?

Wie bekomme ich einen Bildlauf in einem CSS-Raster?

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv