How to get Substring before Specific Character in C - Step by Step Examples



How to get Substring before Specific Character in C ?

Answer

To get the substring before a specific character in C, you can use the strncpy function from the string.h library.



✐ Examples

1 Get Substring Before Specific Character

In this example,

  1. We include the necessary header stdio.h for standard input/output functions and string.h for string handling functions.
  2. We create a character array named str with a string value and a character variable ch representing the specific character.
  3. We use the strchr function to find the first occurrence of ch in str and store the pointer to this position.
  4. If the character is found, we calculate the length of the substring before ch.
  5. We use the strncpy function to copy the substring to a new character array named substr.
  6. We ensure that the copied substring is null-terminated.
  7. Finally, we print the substring to standard output.

C Program

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "hello world, how are you?";
    char ch = ',';
    char *pos = strchr(str, ch);
    if (pos != NULL) {
        int len = pos - str;
        char substr[len + 1];
        strncpy(substr, str, len);
        substr[len] = '\0';
        printf("%s\n", substr);
    } else {
        printf("Character not found in the string.\n");
    }
    return 0;
}

Output

hello world

2 Get Substring Before Specific Character in a Different String

In this example,

  1. We include the necessary header stdio.h for standard input/output functions and string.h for string handling functions.
  2. We create a character array named str with a different string value and a character variable ch representing the specific character.
  3. We use the strchr function to find the first occurrence of ch in str and store the pointer to this position.
  4. If the character is found, we calculate the length of the substring before ch.
  5. We use the strncpy function to copy the substring to a new character array named substr.
  6. We ensure that the copied substring is null-terminated.
  7. Finally, we print the substring to standard output.

C Program

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "user@example.com";
    char ch = '@';
    char *pos = strchr(str, ch);
    if (pos != NULL) {
        int len = pos - str;
        char substr[len + 1];
        strncpy(substr, str, len);
        substr[len] = '\0';
        printf("%s\n", substr);
    } else {
        printf("Character not found in the string.\n");
    }
    return 0;
}

Output

user

Summary

In this tutorial, we learned How to get Substring before Specific Character in C language with well detailed examples.




More C Strings Tutorials

  1. How to Create an Empty String in C ?
  2. How to get Length of String in C ?
  3. How to get Character at Specific Index in String in C ?
  4. How to get First Character in String in C ?
  5. How to get Last Character in String in C ?
  6. How to get First N Characters in String in C ?
  7. How to get Last N Characters in String in C ?
  8. How to get Substring after Specific Character in C ?
  9. How to get Substring before Specific Character in C ?
  10. How to get Substring between two Specific Characters in C ?
  11. How to get Substring from Specific Index to End in C ?
  12. How to Iterate over Characters in String in C ?
  13. How to Iterate over Words in String in C ?
  14. How to Check if String is Empty in C ?
  15. How to Check if String contains only Alphabets in C ?
  16. How to Check if String contains only Alphabets and Numbers in C ?
  17. How to Check if String contains only Numeric Digits in C ?
  18. How to Check if a String contains given Substring in C ?
  19. How to Check if String contains specific Character in C ?
  20. How to Check if String starts with Specific Prefix in C ?
  21. How to Check if String ends with Specific Suffix in C ?
  22. How to Append a String to another String in C ?
  23. How to Append a Character to beginning of a String in C ?
  24. How to Append a Character to end of a String in C ?
  25. How to Concatenate Two Strings in C ?
  26. How to Repeat a String N Times in C ?
  27. How to Insert Character at Specific Index in String in C ?
  28. How to Replace a Substring in String in C ?
  29. How to Replace Character at Specific Index in String in C ?
  30. How to Replace All Occurrences of a Substring in a String in C ?
  31. How to Replace a Substring in a String using Regular Expression in C ?
  32. How to Split a String in C ?
  33. How to Split a String by New Line in C ?
  34. How to Split a String by Comma in C ?
  35. How to Sort Characters in String in C ?
  36. How to convert String to Lowercase in C ?
  37. How to convert String to Uppercase in C ?
  38. How to Trim a String in C ?
  39. How to convert First Character in String to Uppercase in C ?
  40. How to Reverse a String in C ?
  41. How to Remove Character at specific Index in a String in C ?
  42. How to Remove First Character in a String in C ?
  43. How to Remove Last Character in a String in C ?
  44. How to Remove first N Characters in a String in C ?
  45. How to Remove last N Characters in a String in C ?
  46. How to Remove specific Substring in C ?
  47. How to Remove specific Character from a String in C ?
  48. How to Remove All Whitespace Characters from a String in C ?
  49. How to Remove Special Characters from a String in C ?
  50. How to keep only Alphabets in a String in C ?
  51. How to Convert Integer to String in C ?
  52. How to Convert String to Integer in C ?
  53. How to convert String to Float in C ?
  54. How to convert Float to String in C ?
  55. How to check if Two Strings are Equal in C ?
  56. How to check if Two Strings are Equal ignoring case in C ?
  57. How to Compare Two Strings in C ?
  58. How to find the Characters in the First String that are not Present in the Second String in C ?
  59. How to find the Index of Substring in C ?
  60. How to find the Index of Last Occurrence of Substring in C ?
  61. How to find the Indices of All Occurrences of Substring in C ?
  62. How to get all the possible Substrings of a String in C ?
  63. How to get all the possible K length Substrings in a String in C ?