How to extract only words with first-letter lowercase from a string in C

3 Answers

0 votes
#include <stdio.h> 
#include <string.h> 
#include <stdbool.h> 
    
bool IsLower(char ch);
void GetLowercaseFirstLetterWords(char *s, char *words);
    
int main(void)
{   
    char s[] = "C C++ c# Java php Rust go";
    char words[256] = "";
        
    GetLowercaseFirstLetterWords(s, words);
        
    puts(words);
        
    return 0;
}
  
void GetLowercaseFirstLetterWords(char *s, char *words) {
    char *p;
       
    p = strtok (s, " ");
    while (p != NULL) {
        if (IsLower(p[0])) {
            strcat(strcat(words, p), " ");
        }
               
        p = strtok (NULL, " ");
    }
} 
  
bool IsLower(char ch) {
    if (ch >= 'a' && ch <= 'z')
        return true;
         
    return false;
}
       
       
       
          
/*
run:
       
c# php go
      
*/

 



answered Feb 3, 2017 by avibootz
edited Apr 13, 2024 by avibootz
0 votes
#include <stdio.h>
#include <ctype.h>
#include <string.h>
  
void extract_only_words_with_first_letter_lowercase(char s[], char words[]) {
    char *token;
    char *delimiter = " ";
  
    token = strtok(s, delimiter);
    while (token != NULL) {
        if (islower(token[0])) {
            strcat(words, token);
            strcat(words, " ");
        }
        token = strtok(NULL, delimiter);
    }
}
  
int main() {
    char s[] = "C is a General-purpose Computer pRogramming language";
    char words[256] = "";
  
    extract_only_words_with_first_letter_lowercase(s, words);
  
    printf("%s\n", words);
  
    return 0;
}
   
  
  
  
   
/*
run:
     
is a pRogramming language 
   
*/

 



answered Apr 13, 2024 by avibootz
0 votes
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
void print_only_words_with_first_letter_lowercase(char s[]) {
    char *token;
    char *delimiter = " ";
 
    token = strtok(s, delimiter);
    while (token != NULL) {
        if (islower(token[0])) {
            printf("%s\n", token);
        }
        token = strtok(NULL, delimiter);
    }
}
 
int main() {
    char s[] = "C is a General-purpose Computer pRogramming language";

    print_only_words_with_first_letter_lowercase(s);
 
    return 0;
}
 
 
 
 
  
/*
run:
    
is
a
pRogramming
language
  
*/

 



answered Apr 13, 2024 by avibootz
...