Работа с substr в программировании: примеры и советы
Функция substr()
в языке программирования C
Функция substr()
в языке программирования C используется для получения подстроки из заданной строки. Она имеет следующий синтаксис:
char* substr(const char* str, int start, int length);
Аргумент str
представляет собой исходную строку, из которой нужно извлечь подстроку. start
указывает начальный индекс, с которого нужно начать извлечение, а length
определяет длину получаемой подстроки.
Давайте рассмотрим примеры использования функции substr()
:
- Получение подстроки с помощью положительного значения
start
иlength
:
<script type="text/javascript">
function substr(str, start, length) {
return str.slice(start, start + length);
}
</script>
<pre><code>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
#include <stdio.h>
#include <string.h>
int main() {
const char* str = "Hello, world!";
char buffer[20];
strncpy(buffer, substr(str, 7, 5), 5);
buffer[5] = '\0';
printf("Полученная подстрока: %s\n", buffer);
return 0;
}
</code></pre>
В этом примере создаем строку "Hello, world!", а затем извлекаем подстроку, начиная с 7-го индекса и длиной 5 символов. В результате получаем подстроку "world!" и выводим ее на экран.
- Получение подстроки с помощью отрицательного значения
start
и положительногоlength
:
<script type="text/javascript">
function substr(str, start, length) {
if (start < 0) {
start = str.length + start;
}
return str.slice(start, start + length);
}
</script>
<pre><code>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
#include <stdio.h>
#include <string.h>
int main() {
const char* str = "Hello, world!";
char buffer[20];
int start = strlen(str) + 3;
strncpy(buffer, substr(str, -start, 5), 5);
buffer[5] = '\0';
printf("Полученная подстрока: %s\n", buffer);
return 0;
}
</code></pre>
В этом примере определяем значение start
с помощью функции strlen()
, а затем передаем отрицательное значение start
функции substr()
. Длина подстроки равна 5 символам. В результате получаем подстроку "world!" и выводим ее на экран.
- Получение подстроки с помощью положительного значения
start
и отрицательногоlength
:
<script type="text/javascript">
function substr(str, start, length) {
return str.slice(start, start - length);
}
</script>
<pre><code>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
#include <stdio.h>
#include <string.h>
int main() {
const char* str = "Hello, world!";
char buffer[20];
strncpy(buffer, substr(str, 7, -6), 6);
buffer[6] = '\0';
printf("Полученная подстрока: %s\n", buffer);
return 0;
}
</code></pre>
В этом примере указываем длину подстроки равной -6, что означает, что мы хотим извлечь 6 символов от начального индекса. Получаем подстроку "world!" и выводим ее на экран.
Таким образом, функция substr()
позволяет извлекать подстроку из заданной строки с помощью различных комбинаций начального индекса и длины.