


Extrahieren Sie Teilzeichenfolgen zwischen beliebigen Trennzeichenpaaren
分隔符是将字符串与其他字符分开的字符,例如在我们日常阅读活动中的句子中,我们通过空格分隔出不同的单词。在数学和正则表达式中,我们使用()括号作为主要的分隔符。
子字符串及其操作的概念在编程中非常重要,特别是在用于编写编译器和汇编器的C语言中。在字符串中识别定界符,并将起始定界符后的字符复制到另一个变量中,直到结束定界符。
== 和 != 运算符可用于比较字符串中的字符和用户指定的分隔符字符。
使用scanf()函数从用户接受一个字符串,所以空格不能作为字符串的一部分。如果使用puts()或其他函数或方法,可能会得到一个高级版本。
该程序使用数组和字符串处理的基本概念,而不使用头文件中可用的任何字符串函数。可以使用字符串比较、字符串复制函数,但作为简单逻辑的练习,该程序是使用非常基本的逻辑完成的。
Methods Used
的中文翻译为:使用的方法
方法一:使用 substring()
方法2:使用函数
两种方法各有其优点。方法1是一种直接的解决方案,帮助用户理解字符串操作的过程,而方法2通过使用函数促进更好的软件设计原则和可维护性。
语法
在 C 编程语言中提取任意一对分隔符之间的子字符串是一项常见的编程任务。提取子串的方法可以根据具体的问题要求和约束而变化。尽管如此,一种广泛使用的技术是利用 C 标准库中的 strtok() 函数。该函数用于根据指定的分隔符将字符串分解为一系列标记。该函数将原始字符串和分隔符作为输入,并返回指向字符串中找到的第一个标记的指针。要提取所有子字符串,可以使用空指针作为第一个参数重复调用该函数以获得后续标记。字符串的结尾由 strtok() 函数返回的空指针指示。
char *strtok(char *str, const char *delim);
算法
步骤 1 - 声明 str1,str2,delim1,delim2 初始化为 null。
第 2 步 - 声明整型变量 len、n、I、subs
步骤 3 - 从控制台接收 str1、delim1 和 delim2
第 4 步 - 检查长度并将其存储在 len
步骤 5 - 当 n<输入字符串长度 len 时,检查 str1[n] 是否等于 delim1
第 6 步 - 如果是,则 subs=n,打破循环
步骤 7 − 当 str1[subs] != delim2 时,使 n=0
第 8 步 - 将 delim1 后的 str1 复制到 str2,str2[n] = str1[subs],递增 n 和 subs
步骤 9 - 打印 str2,其中输入字符串减号 ()。
方法一:使用substring()
对于字符串的简单逐步数组操作的实现具有几个优点。它直观且易于理解,这对于初学者或正在学习编程的人来说是有益的。这种方法允许用户看到程序用于操作字符串的确切过程。然而,正如前面提到的,这种方法有一些限制,例如不接受带有空格的字符串,并且将长度限制为20个字符。使用gets方法,您可以克服字符串大小的限制,但值得注意的是,由于潜在的缓冲区溢出和安全风险,gets方法已被弃用。
Example
的中文翻译为:示例
这段代码构成了一个软件,它基于两个分隔符提取字符串的一部分。第一个分隔符指定了子字符串的开始,第二个分隔符定义了其结束。输入字符串存储在str1变量中,两个分隔符定义为delim1和delim2变量。提取的子字符串保存在str2变量中。程序首先使用第一个分隔符识别子字符串的起始位置,然后通过计算从起始位置到第二个分隔符定义的结束位置的字符数量来计算其长度。然后调用Substring函数从原始字符串中提取子字符串并将其存储在str2变量中。提取的子字符串然后显示在屏幕上。
#include <stdio.h> #include <string.h> void Substring(char *str2, const char *str1, int start, int n) { strncpy(str2, str1 + start, n); } int main() { // Predefined input values char str1[] = "Hello[world]!"; char delim1 = '['; char delim2 = ']'; char str2[100]; int len1 = strlen(str1); int start, subs, n = 0; // Getting the position of substring based on delimiter while (n < len1) { if (str1[n] == delim1) { subs = n; break; } n++; } start = n; // Getting the length of substring if (str1[subs] == delim1) { n = 0; subs++; while (str1[subs] != delim2) { subs++; n++; } Substring(str2, str1, start + 1, n); } // Adding null character at the end str2[n] = '\0'; printf("<span>\</span>nSub string is %s", str2); return 0; }
输出
Sub string is world
方法二:函数
使用函数来实现程序可以提供更模块化和有组织的解决方案。它将代码分解为较小、可重用的部分,可以独立进行测试和调试。这种方法促进了更好的软件设计原则和代码可读性。通过创建函数,您还可以轻松扩展程序的功能并提高其可维护性。
Example
的中文翻译为:示例
此代码构成了一个 C 软件,用于提取定义的字符串的一部分。该字符串被声明为字符数组,并且分隔符在主函数中预先指定。 Getpos 函数用于确定字符串中第一个分隔符 (delim1) 的位置。 Copystr 函数用于将两个分隔符(delim1 和 delim2)之间的字符复制到新字符串中。原始字符串的长度是使用 string.h 库中的 strlen 函数计算的。然后使用 printf 函数将子字符串显示在屏幕上。
#include <stdio.h> #include <string.h> void Getpos(char *str1, int len1, char delim1, int *subs) { int n = 0; while (n < len1) { if (str1[n] == delim1) { *subs = n; break; } n++; } } void Copystr(char *str1, char *str2, char delim1, char delim2, int subs) { if (str1[subs] == delim1) { int n = 0; subs++; while (str1[subs] != delim2) { str2[n] = str1[subs]; subs++; n++; } } } int main() { // Predefined input values char str1[] = "Hello[world]!"; char delim1 = '['; char delim2 = ']'; char str2[100]; int len1, subs; len1 = strlen(str1); Getpos(str1, len1, delim1, &subs); Copystr(str1, str2, delim1, delim2, subs); str2[strlen(str2)] = '\0'; printf("<span>\</span>nSub string is %s", str2); return 0; }
输出
Sub string is world
结论
C 中的字符串以字符的形式存储在内存中,字符串中的每个字符或字母都可以单独访问和处理。字符串的数组操作可以轻松地对字符串执行各种操作,如连接、反转,查找回文等等。这种灵活性使其在文件操作和最小内存使用方面非常有用。
Das obige ist der detaillierte Inhalt vonExtrahieren Sie Teilzeichenfolgen zwischen beliebigen Trennzeichenpaaren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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

Oftmals ist es schwierig, sehr große Dateien zwischen Geräten, insbesondere Smartphones und dergleichen, zu teilen. Daher werden diese Dateien zunächst in RAR-Dateien archiviert/komprimiert und dann zur Freigabe an ein anderes Gerät gesendet. Das Problem ist jedoch, dass RAR-Dateien auf dem iPhone nicht einfach zu extrahieren sind. Um eine ZIP-Datei zu extrahieren, ist nur ein Fingertipp erforderlich. Nicht viele Menschen kennen den Prozess zum Extrahieren von RAR-Dateien auf dem iPhone und für Anfänger können die Schritte verwirrend sein. Dies kann über die Standard-Apps auf Ihrem iPhone namens Shortcuts erfolgen. Hier erklären wir Schritt für Schritt, wie Sie mit der Shortcuts-App eine beliebige RAR-Datei auf dem iPhone extrahieren. So extrahieren Sie RAR-Dateien auf dem iPhone Schritt 1: Zuerst Sie

Gegeben seien zwei Strings str_1 und str_2. Das Ziel besteht darin, mithilfe eines rekursiven Verfahrens die Anzahl der Vorkommen der Teilzeichenfolge str2 in der Zeichenfolge str1 zu zählen. Eine rekursive Funktion ist eine Funktion, die sich innerhalb ihrer Definition selbst aufruft. Wenn str1 „Iknowthatyouknowthatiknow“ und str2 „know“ ist, beträgt die Anzahl der Vorkommen -3. Lassen Sie uns das anhand von Beispielen verstehen. Geben Sie beispielsweise str1="TPisTPareTPamTP", str2="TP" ein; geben Sie Countofoccurrencesofasubstringrecursi aus

So verwenden Sie die LOCATE-Funktion in MySQL, um die Position eines Teilstrings in einem String zu finden. In MySQL gibt es viele Funktionen, die zum Verarbeiten von Strings verwendet werden können. Unter diesen ist die LOCATE-Funktion eine sehr nützliche Funktion, mit der die Position eines Teilstrings in einem String ermittelt werden kann. Die Syntax der LOCATE-Funktion lautet wie folgt: LOCATE(substring,string,[position]) wobei substring der zu findende Teilstring und string der zu findende Teilstring ist.

Welche Zahlenformate Sie unter iOS 16 wählen können Mit den Änderungen in iOS 16.4 (Beta 2) können Sie aus drei verschiedenen Zahlenformaten für Ihr iPhone wählen. Diese Formate verwenden Leerzeichen, Kommas und Punkte als Symbole zum Trennen von Tausenderstellen in Zahlen oder als Dezimalpunkte. Der Dezimalpunkt ist das Zeichen, das verwendet wird, um den ganzzahligen Teil eines Werts von seinem Bruchteil zu trennen. Er wird normalerweise durch einen Punkt (.) oder ein Komma (,) zugewiesen. Das Tausendertrennzeichen wird verwendet, um mehrstellige Zahlen in drei Gruppen zu unterteilen, die normalerweise durch einen Punkt (.), ein Komma (,) oder ein Leerzeichen () angegeben werden. In der neuesten Version von iOS können Sie eines der folgenden Zahlenformate als bevorzugte Option für Ihr iPhone anwenden: 1,23

Diese Funktion ähnelt der Funktion strtok(). Der einzige wesentliche Unterschied besteht in _r, einer so genannten reentrant-Funktion. Reentrant-Funktionen sind Funktionen, die während der Ausführung unterbrochen werden können. Diese Art von Funktion kann verwendet werden, um die Ausführung fortzusetzen. Daher sind reentrant-Funktionen Thread-sicher, was bedeutet, dass sie sicher von Threads unterbrochen werden können, ohne Schaden zu verursachen. Die Funktion strtok_r() verfügt über einen zusätzlichen Parameter namens context. Dadurch kann die Funktion an der richtigen Stelle wiederhergestellt werden. Die Syntax der Funktion strtok_r() lautet wie folgt: #include<string.h>char*strtok_r(char*string,constchar*limiter,char**

Wenn Sie nicht wissen, wie Sie Dateien unter Windows 11 entpacken, können Sie möglicherweise bestimmte Software nicht installieren oder Dateien nicht anzeigen, die Ihnen andere im Archivformat gesendet haben. Dieser Vorgang ist sehr einfach durchzuführen und in der heutigen Anleitung zeigen wir Ihnen, wie Sie ihn am besten unter Windows 11 durchführen. Wie entpacke ich Dateien in Windows 11? 1. Suchen Sie über das Kontextmenü die ZIP-Datei auf Ihrem PC und klicken Sie mit der rechten Maustaste darauf. Wählen Sie als Nächstes „Alle extrahieren“. Wählen Sie den Extraktionsort aus und klicken Sie auf die Schaltfläche „Extrahieren“. Warten Sie, bis Windows die Dateien extrahiert. 2. Laden Sie WinZip mit einem Drittanbieter-Tool herunter und installieren Sie es. Doppelklicken Sie auf die ZIP-Datei, die Sie extrahieren möchten. Klicken Sie nun auf Extrahieren nach und wählen Sie den Zielordner aus. 3.

So extrahieren Sie mit Python einen bestimmten Bereich in einem Bild. Einführung: In der digitalen Bildverarbeitung ist das Extrahieren eines bestimmten Bereichs eine häufige Aufgabe. Python bietet als leistungsstarke Programmiersprache eine Vielzahl von Bibliotheken und Tools zur Verarbeitung von Bilddaten. In diesem Artikel wird anhand von Codebeispielen erläutert, wie Sie mit Python und der OpenCV-Bibliothek bestimmte Bereiche in einem Bild extrahieren. Installieren Sie die erforderlichen Bibliotheken. Bevor wir beginnen, müssen wir die OpenCV-Bibliothek installieren. Es kann mit dem folgenden Befehl installiert werden: pipinstallopen

In der Programmiersprache C haben Sonderzeichen typischerweise eine besondere Bedeutung und können nicht für andere Zwecke verwendet werden. Einige spezielle Symbole, die in der C-Programmierung verwendet werden, sind wie folgt: −[](){},;*=# Lassen Sie uns ihre Definitionen wie folgt verstehen: Eckige Klammern [] – Das Öffnen und Schließen von eckigen Klammern wird für Referenzen auf Array-Elemente verwendet, um anzuzeigen Ein- und mehrdimensionale Indizes. Klammern () – Diese speziellen Symbole werden für Funktionsaufrufe und Funktionsparameter verwendet. Geschweifte Klammern {} – Das Öffnen und Schließen von geschweiften Klammern gibt den Anfang und das Ende eines Codeblocks an, der mehrere ausführbare Anweisungen enthält. Komma (,) – wird zum Trennen mehrerer Anweisungen verwendet, z. B. zur Parametertrennung in Funktionsaufrufen. Doppelpunkt (:) – Dies ist ein Operator, der tatsächlich eine sogenannte Initialisierungsliste aufruft. Semikolon (;) – es wird umgangssprachlich genannt
