zoukankan      html  css  js  c++  java
  • 提取文本中的单词,单词简单排序

    首先需要解决的是从文本中提取出每个单词,那么如何提取比较准确呢?

      定义一个二维数组,用来存放提取出来的单词,每行存放一个单词;

      从第一行开始,把第一个字符放入数组中,如果第一个字符不是字母,继续把第二个字符放入第一个字符位置,依次这样,直到第一个位置放的是字母字符为止,如果下一次放的是字母字符,则继续添加下一个,如果不是,说明从第一个位置到当前位置是一个单词,应该在当前位置加入 ‘’ (字符串结束标志)进行下一行;

    然后就是字符串的简单比较,字符串的比较用 strcmp 函数 , 调用 qsort 函数即可 ;

    #include<iostream>
    #include<string.h>
    #include<string>
    #include<stdio.h>
    #include<ctype.h>
    #include<algorithm>
    #include<iostream>
    using namespace std ;
    
    int cmp(const void *s1 , const void *s2)	{
    	char *_s1 = (char *)s1 ;
    	char *_s2 = (char *)s2 ; 
    	return strcmp(_s1,_s2) ;
    }
    
    char word[510000][210];  
    
    int main()	{
    	int i = 0 , j = 0 ;
    	char c ;
    	while( (c = getchar()) != EOF )	{
    		c = tolower(c) ;
    		word[i][j] = c ;
    		if(!isalpha(c) && isalpha(word[i][0]))	{
    			word[i][j] = '' ;
    			j = 0 ;
    			i++ ;
    			continue ;
    		}
    		if(isalpha(c) && isalpha(word[i][0]))
    			j++ ;
    	}
    	qsort(word,i,sizeof(word[0]),cmp) ;
    	for(int k = 0 ; k < i ; k++)
    		if(strcmp(word[k],word[k-1]) != 0 )
    			cout << word[k] << endl ;
    	return 0 ;
    }
    
  • 相关阅读:
    JavaScript获取http,http://请求协议头,域名,端口,url
    JAVA Pattern正则获取大括号中内容,substring字符串截取获取大括号中内容
    系统时间相关
    简单搭建nfs
    电信电话相关
    windows常用设置
    sort用法
    vim查询替换相关
    vim常用命令 技巧
    编绎vim8.2+deepin v15.11
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4237454.html
Copyright © 2011-2022 走看看