Eine kurze Analyse der Node.js-String-Suchfunktion_node.js
Die Anforderungen lauten wie folgt:
Das gesamte Verzeichnis enthält ungefähr 40 MB und unzählige Dateien. Da es schon lange her ist, kann ich mich nicht erinnern, in welcher Datei sich die Zeichenfolge befindet. Das leistungsstarke und blendende Node.js feiert sein Debüt:
Die Installation von Node.js unter Windows unterscheidet sich nicht von der Installation normaler Software. Öffnen Sie nach der Installation die Verknüpfung von Node.js oder direkt cmd.
Erstellen Sie findString.js
var path = require("path"); var fs = require("fs"); var filePath = process.argv[2]; var lookingForString = process.argv[3]; recursiveReadFile(filePath); function recursiveReadFile(fileName){ if(!fs.existsSync(fileName)) return; if(isFile(fileName)){ check(fileName); } if(isDirectory(fileName)){ var files = fs.readdirSync(fileName); files.forEach(function(val,key){ var temp = path.join(fileName,val); if(isDirectory(temp)) recursiveReadFile(temp); if (isFile(temp)) check(temp); }) } } function check(fileName){ var data = readFile(fileName); var exc = new RegExp(lookingForString); if(exc.test(data)) console.log(fileName); } function isDirectory(fileName){ if(fs.existsSync(fileName)) return fs.statSync(fileName).isDirectory(); } function isFile(fileName){ if(fs.existsSync(fileName)) return fs.statSync(fileName).isFile(); } function readFile(fileName){ if(fs.existsSync(fileName)) return fs.readFileSync(fileName,"utf-8"); }
Zwei Parameter: Der erste Parameter ist „Ordnername“ und der zweite Parameter ist „die gesuchte Zeichenfolge“
Im Bild:
Drucken Sie den Dateipfad aus, fertig, und machen Sie Feierabend. Die Geschwindigkeit ist wirklich heftig und blendend. . . Wenn Sie die Java-Volltextsuche verwenden, werden Sie in Schwierigkeiten geraten...
NodeJS sucht, liest und schreibt Dateien
(1), Pfadverarbeitung
1. Zunächst müssen wir auf die Normalisierung von Dateipfaden achten. Die Methode „Normolize“ kann uns dabei helfen, den Pfad zu normalisieren
var path = require('path'); path.normalize('/foo/bar/nor/faz/..'); -> /foo/bar/nor
var path = require('path'); path.join('/foo', 'bar', 'baz/asdf', 'quux', '..'); ->/foo/bar/baz/asdf
var path = require('path'); path.resolve('/foo/bar', './baz'); ->/foo/bar/baz path.resolve('/foo/bar', '/tmp/file/'); ->/tmp/file
var path = require('path'); path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb'); ->../../impl/bbb
var path = require('path'); path.dirname('/foo/bar/baz/asdf/quux.txt'); ->/foo/bar/baz/asdf ================= var path = require('path'); path.basename('/foo/bar/baz/asdf/quux.html') ->quux.html
Sie können sogar den Suffixnamen entfernen, indem Sie einfach den zweiten Parameter in Basisname übergeben. Der Parameter ist der Suffixname, zum Beispiel:
var path = require('path');
path.basename('/foo/bar/baz/asdf/quux.html', '.html'); ->quux
Natürlich können sich im Dateipfad verschiedene Dateien befinden, und es ist für uns unmöglich, das Suffix fest zu codieren, um die gewünschten Ergebnisse zu erzielen,
Es gibt also eine Methode, die uns helfen kann, den Suffixnamen zu erhalten:
path.extname('/a/b/index.html'); // =>
path.extname('/a/b.c/index'); // =>
path.extname('/a/b.c/.'); // =>path.extname('/a/b.c/d.'); // =>
(2), Dateiverarbeitungvar fs = require('fs');
1. Stellen Sie fest, ob die Datei vorhanden ist
fs.exists(path, function(exists) {});
Die obige Schnittstelle arbeitet asynchron, daher gibt es eine Callback-Funktion, in der unsere verschiedenen Operationen verarbeitet werden können. Wenn synchrone Operationen erforderlich sind, kann die folgende Methode verwendet werden:
fs.existsSync(path);
2. Dateistatusinformationen lesen
Der Inhalt der Konsolenausgabezustände ist ungefähr wie folgt:
fs.stat(path, function(err, stats) { if (err) { throw err;} console.log(stats); });
{ dev: 234881026, ino: 95028917, mode: 33188, nlink: 1, uid: 0, gid: 0, rdev: 0, size: 5086, blksize: 4096, blocks: 0, atime: Fri, 18 Nov 2011 22:44:47 GMT, mtime: Thu, 08 Sep 2011 23:50:04 GMT, ctime: Thu, 08 Sep 2011 23:50:04 GMT }
stats.isFile(); stats.isDirectory(); stats.isBlockDevice(); stats.isCharacterDevice(); stats.isSymbolicLink(); stats.isFifo(); stats.isSocket(); .读写文件 fs.open('/path/to/file', 'r', function(err, fd) { // todo });
r: Lesen und schreiben
w: Datei neu schreiben
w: Schreiben Sie die Datei neu oder erstellen Sie sie, wenn sie nicht existiert
a: Dateien lesen und schreiben,
am Ende der Datei anhängen
a: Dateien lesen und schreiben, erstellen, wenn die Datei nicht existiertDas Folgende ist ein kleines Beispiel für das Lesen einer Datei:
Das Folgende ist ein kleines Beispiel für das Schreiben einer Datei:
var fs = require('fs'); fs.open('./nodeRead.html', 'r', function opened(err, fd) { if (err) { throw err } var readBuffer = new Buffer(1024), bufferOffset = 0, bufferLength = readBuffer.length, filePosition = 100; fs.read(fd, readBuffer, bufferOffset, bufferLength, filePosition, function read(err, readBytes) { if (err) { throw err; } console.log('just read ' + readBytes + ' bytes'); if (readBytes > 0) { console.log(readBuffer.slice(0, readBytes)); } }); });
Bei Lese- und Schreibvorgängen für Dateien sollten wir nicht vergessen, den Schließvorgang nach Abschluss dieser Vorgänge auszuführen, d. h. close(); Das Folgende ist eine gekapselte Methode, die den späteren Schließvorgang der Datei umfasst ist bequem zu verwenden:
var fs = require('fs'); fs.open('./my_file.txt', 'a', function opened(err, fd) { if (err) { throw err; } var writeBuffer = new Buffer('hello, world!'), bufferPosition = 0, bufferLength = writeBuffer.length, filePosition = null; fs.write( fd, writeBuffer, bufferPosition, bufferLength, filePosition, function(err, written) { if (err) { throw err; } console.log('wrote ' + written + ' bytes'); }); });

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Ausführliche Erläuterung der Methode zum Konvertieren des Typs int in einen String in PHP. Bei der PHP-Entwicklung stoßen wir häufig auf die Notwendigkeit, den Typ int in einen String-Typ zu konvertieren. Diese Konvertierung kann auf verschiedene Weise erreicht werden. In diesem Artikel werden verschiedene gängige Methoden im Detail vorgestellt, mit spezifischen Codebeispielen, um den Lesern das Verständnis zu erleichtern. 1. Verwenden Sie die integrierte Funktion strval() von PHP. PHP bietet eine integrierte Funktion strval(), die Variablen verschiedener Typen in String-Typen konvertieren kann. Wenn wir den Typ int in den Typ string konvertieren müssen,

Titel: So ermitteln Sie, ob eine Zeichenfolge in Golang mit einem bestimmten Zeichen endet. In der Go-Sprache müssen wir manchmal feststellen, ob eine Zeichenfolge mit einem bestimmten Zeichen endet. In diesem Artikel wird erläutert, wie Sie diese Funktion mithilfe der Go-Sprache implementieren, und es werden Codebeispiele als Referenz bereitgestellt. Schauen wir uns zunächst an, wie Sie in Golang feststellen können, ob eine Zeichenfolge mit einem bestimmten Zeichen endet. Die Zeichen in einer Zeichenfolge in Golang können durch Indizierung ermittelt werden, und die Länge der Zeichenfolge kann ermittelt werden

Wie kann man in Golang überprüfen, ob eine Zeichenfolge mit einem bestimmten Zeichen beginnt? Beim Programmieren in Golang kommt es häufig vor, dass Sie prüfen müssen, ob eine Zeichenfolge mit einem bestimmten Zeichen beginnt. Um diese Anforderung zu erfüllen, können wir die vom Strings-Paket in Golang bereitgestellten Funktionen verwenden, um dies zu erreichen. Als Nächstes stellen wir anhand spezifischer Codebeispiele ausführlich vor, wie Sie mit Golang überprüfen können, ob eine Zeichenfolge mit einem bestimmten Zeichen beginnt. In Golang können wir HasPrefix aus dem Strings-Paket verwenden

1. Öffnen Sie zuerst Pycharm und rufen Sie die Pycharm-Homepage auf. 2. Erstellen Sie dann ein neues Python-Skript, klicken Sie mit der rechten Maustaste – klicken Sie auf „Neu“ – klicken Sie auf „Pythondatei“. 3. Geben Sie eine Zeichenfolge ein, Code: s="-". 4. Dann müssen Sie die Symbole in der Zeichenfolge 20 Mal wiederholen, Code: s1=s*20 5. Geben Sie den Druckausgabecode ein, Code: print(s1). 6. Führen Sie abschließend das Skript aus und Sie sehen unten unseren Rückgabewert: - 20 Mal wiederholt.

Methoden zur Lösung des Problems verstümmelter chinesischer Zeichen beim Konvertieren von Hexadezimalzeichenfolgen in PHP. Bei der PHP-Programmierung stoßen wir manchmal auf Situationen, in denen wir Hexadezimalzeichenfolgen in normale chinesische Zeichen konvertieren müssen. Bei dieser Konvertierung treten jedoch manchmal Probleme mit verstümmelten chinesischen Zeichen auf. In diesem Artikel finden Sie eine Methode zur Lösung des Problems verstümmelter chinesischer Zeichen bei der Konvertierung von Hexadezimalzahlen in Zeichenfolgen in PHP sowie spezifische Codebeispiele. Verwenden Sie die Funktion hex2bin() für die Hexadezimalkonvertierung. Die in PHP integrierte Funktion hex2bin() kann 1 konvertieren

PHP-String-Operation: Eine praktische Methode zum effektiven Entfernen von Leerzeichen Bei der PHP-Entwicklung kommt es häufig vor, dass Sie Leerzeichen aus einem String entfernen müssen. Das Entfernen von Leerzeichen kann die Zeichenfolge sauberer machen und die nachfolgende Datenverarbeitung und -anzeige erleichtern. In diesem Artikel werden mehrere effektive und praktische Methoden zum Entfernen von Leerzeichen vorgestellt und spezifische Codebeispiele angehängt. Methode 1: Verwenden Sie die in PHP integrierte Funktion trim(). Die in PHP integrierte Funktion trim() kann Leerzeichen an beiden Enden der Zeichenfolge entfernen (einschließlich Leerzeichen, Tabulatoren, Zeilenumbrüche usw.), was sehr praktisch und einfach ist benutzen.

Tipps zum PHP-String-Matching: Vermeiden Sie mehrdeutige eingeschlossene Ausdrücke. In der PHP-Entwicklung ist der String-Matching eine häufige Aufgabe, die normalerweise verwendet wird, um bestimmte Textinhalte zu finden oder das Eingabeformat zu überprüfen. Manchmal müssen wir jedoch die Verwendung mehrdeutiger Einschlussausdrücke vermeiden, um die Übereinstimmungsgenauigkeit sicherzustellen. In diesem Artikel werden einige Techniken zur Vermeidung mehrdeutiger Einschlussausdrücke beim String-Matching in PHP vorgestellt und spezifische Codebeispiele bereitgestellt. Verwenden Sie die Funktion preg_match() für den exakten Abgleich. In PHP können Sie preg_mat verwenden

Als Skriptsprache, die häufig bei der Entwicklung von Webanwendungen verwendet wird, verfügt PHP über sehr leistungsstarke Funktionen zur Zeichenfolgenverarbeitung. In der täglichen Entwicklung stoßen wir häufig auf Vorgänge, bei denen eine Zeichenfolge gelöscht werden muss, insbesondere die letzten beiden Zeichen der Zeichenfolge. In diesem Artikel werden zwei PHP-Techniken zum Löschen der letzten beiden Zeichen einer Zeichenfolge vorgestellt und spezifische Codebeispiele bereitgestellt. Tipp 1: Verwenden Sie die Substr-Funktion Die Substr-Funktion in PHP wird verwendet, um einen Teil eines Strings zurückzugeben. Wir können Zeichen leicht entfernen, indem wir die Zeichenfolge und die Startposition angeben
