In PHP ist STRCSPN eine Funktion, mit der die Position des ersten Zeichens in einer Zeichenfolge berechnet wird, die sich nicht in einem angegebenen Zeichensatz befindet. Sein vollständiger Name ist "String Complement Span", was bedeutet, von Anfang an die Zeichenfolge zu beginnen, das erste Zeichen zu finden, das nicht zum angegebenen Zeichensatz gehört und die Indexposition des Zeichens zurückgibt. Diese Funktion wird häufig für die String -Verarbeitung verwendet, insbesondere wenn Sie den ersten Ort eines Zeichens in der Zeichenfolge finden müssen.
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$charlist</span></span><span> [, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-number">0</span></span><span> [, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-literal">NULL</span></span><span> ]])
</span></span>
$ haystack : Der Zielzeichenfolge, nach dem gesucht wird.
$ charList : definiert den gefundenen Zeichen, dh eine Zeichenfolge, die mehrere Zeichen enthält.
$ start : Optional, geben Sie den Speicherort an, um mit der Suche zu beginnen. Standard ist 0.
$ Länge : Optional, Angabe der maximalen Länge, die bei der Suche prüft, dass bei der Suche ein Standard ist, und die Position von $ Start bis zum Ende der Zeichenfolge angibt.
Die STRCSPN -Funktion beginnt mit dem angegebenen String $ Haystack und sucht nach dem ersten Zeichen, das nicht zu dem in $ charList festgelegten Zeichen gehört. Es gibt dann die Position dieses Charakters zurück. Diese Position ist die Indexposition des Zeichens in der Zeichenfolge (ab 0).
Angenommen, Sie haben eine String ABCDEF und der Zeichensatz ist ABC , dann gibt Strcspn die Position des ersten Zeichens zurück, der nicht zum Zeichensatz ABC gehört, dh die Indexposition von D in der Zeichenfolge 3.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Beispielzeichenfolge</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"abcdef"</span></span><span>;
</span><span><span class="hljs-comment">// Definieren Sie Zeichensätze</span></span><span>
</span><span><span class="hljs-variable">$charlist</span></span><span> = </span><span><span class="hljs-string">"abc"</span></span><span>;
</span><span><span class="hljs-comment">// verwenden strcspn Funktionen finden den ersten Ort, der nicht zum Zeichensatz gehört</span></span><span>
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$charlist</span></span><span>);
</span><span><span class="hljs-comment">// Ausgangsergebnis</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Die erste Charakterposition, die nicht im Zeichensatz ist, ist: "</span></span><span> . </span><span><span class="hljs-variable">$position</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Ausgabe:
<span><span><span class="hljs-section">Die erste Charakterposition, die nicht im Zeichensatz ist, ist: 3</span></span><span>
</span></span>
In diesem Beispiel startet die Zeichenfolge "ABCDEF" von A , B und C , bis das erste Zeichen D auftritt und nicht im Zeichensatz ABC ist, sodass die zurückgegebene Position 3 beträgt.
Überprüfen Sie, ob Zeichen zu einem Zeichensatz gehören : Während der Datenverarbeitung oder -überprüfung kann STRCSPN feststellen, ob die Eingabedaten illegale Zeichen oder unerwünschte Zeichen enthalten. Überprüfen Sie beispielsweise, ob der Benutzername nur Buchstaben oder Zahlen enthält.
Substrings extrahieren : Wenn Sie alle Zeichen vor einem bestimmten Zeichen aus einer Zeichenfolge extrahieren müssen, können Sie Strcspn- und Substr -Funktionen kombinieren, um sie zu implementieren. Zum Beispiel, wenn Sie alle Zeichen vor der ersten Nummer extrahieren möchten:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-string">"abc123xyz"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">'0123456789'</span></span><span>);
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$position</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>; </span><span><span class="hljs-comment">// Ausgabe "abc"</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Dieser Code gibt "ABC" zurück, da er alle Zeichen vor der Nummer 1 extrahiert.
Umgang mit speziellen Zeichensets : STRCSPN ist auch sehr nützlich, wenn Sie Sonderzeichen oder Whitespace -Zeichen in einer Zeichenfolge finden müssen. Ermitteln Sie beispielsweise die Position des ersten Raums oder der ersten Zeichensetzung in einer Zeichenfolge:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-string">"hello, world!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">' ,.!'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Der erste Nicht-Raum、Komma、Zeitraum、Die Charakterposition der Ausrufezeichen ist: "</span></span><span> . </span><span><span class="hljs-variable">$position</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Dieser Code kann verwendet werden, um einige gemeinsame Interpunktionsmarken herauszufiltern und den tatsächlichen Inhalt der Zeichenfolge zurückzugeben.
STRCSPN ist eine leistungsstarke PHP -String -Verarbeitungsfunktion, mit der Entwickler Charakterpositionen in Zeichenfolgen, die nicht zu einem bestimmten Zeichensatz gehören, genau finden können. In der tatsächlichen Entwicklung, insbesondere in Szenarien wie String -Überprüfung und Parsen, ist STRCSPN ein sehr praktisches Tool, mit dem die Effizienz und Lesbarkeit des Codes optimiert werden kann. Das Mastering dieser Funktion kann String -Operationen flexibler und effizienter machen.