精华内容
下载资源
问答
  • 如何提取代码中的中文字符
    千次阅读
    2020-04-01 15:41:36

    前言

    在一般情况下,程序中的中文字符串都是写在某个文件中读取(例如json),但是大部分时候我们都是直接写入到代码中,这个时候如果我们想把字符串提取出来就需要一个一个去找,或者通过IDE提供的字符串匹配方法来进行实现。通过IDE搜索的方式固然可以,但是如果我们想把字符串提取出来,则需要一个一个地点击,这样会非常麻烦。下面介绍如何使用代码提取中文字符串。

    正则表达式

    通过正则表达式可以提取中文字符串

    具体的正则表达式为 [\u4e00-\u9fa5]

    Python提取中文字符串

    直接贴代码:

    代码相关内容

    Python 版本3.7

    IDE Spyder

    代码

    
    # -*- coding: utf-8 -*-
    import os
    import re
    list1=[]
    def file_name(file_dir):
        for root,dirs,files in os.walk(file_dir):
            getChineseStrings(root,files)
            
    def getChineseStrings(root,files):
        for f in files:
            if f.endswith('.js'):
                print(root+f)
                getNoRepeatList(root+f,list1)
                with open(os.path.join(root,f),encoding='UTF-8') as lines:
                    for line in lines:
                        line=str(line)
                        #删除//注释的内容
                        line =re.sub(r'//.*$','',line)
                        #删除行内/**/注释的内容
                        line =re.sub(r'/\*.*\*/','',line)
                        #删除行内/*注释以及其右边的内容
                        line =re.sub(r'/\*.*$','',line)
                        #删除行内*/注释以及其左边的内容
                        line =re.sub(r'.*\*/','',line)
                        #删除*以及后面的字符串
                        line =re.sub(r'\*.*$','',line)
                        #查找“”中间的中文字符串
                        findPart(u"\".*[\u4e00-\u9fa5]+.*\"",line)
                        #删除“”中间的中文字符串
                        line =re.sub(u"\".*[\u4e00-\u9fa5]+.*\"",'',line)
                        #查找‘’中间的中文字符串
                        findPart(u"\'.*[\u4e00-\u9fa5]+.*\'",line)
                        #删除‘’中间的中文字符串
                        line =re.sub(u"\'.*[\u4e00-\u9fa5]+.*\'",'',line)
                        #查找><中间的中文字符串 
                        findPart(u">.*[\u4e00-\u9fa5]+.*<",line)
                        
    def findPart(regex,text):
        res=re.findall(regex,text)
        for r in res:
            if '\"' in r:
                result = r.split('\"')
                for i in result:
                    if re.compile(u'[\u4e00-\u9fa5]').search(i):
                        print (str(i))
                        getNoRepeatList(str(i),list1)
                return 
            if '\'' in r:
                result = r.split('\'')
                for i in result:
                    if re.compile(u'[\u4e00-\u9fa5]').search(i):
                        print (str(i))
                        getNoRepeatList(str(i),list1)
                return 
            if '>' in r or '<' in r :
                result =re.split(r">|<", r) 
                for i in result:
                    if re.compile(u'[\u4e00-\u9fa5]').search(i):
                        print (str(i))
                        getNoRepeatList(str(i),list1)
                return 
    def getNoRepeatList(i,lists):
        if i not in lists:
            lists.append(i)
    if __name__=='__main__':
        file_name('paste the path of the files here')
        print("==========================================================================================this is no repeating list")
        for i in list1:
            print(i)
     
    

    代码详解

    第一个方法:
    file_name
    这个方法主要用于遍历文件夹中的文件

    第二个方法:
    getChineseStrings
    这个方法主要用于获得中文字符串,这也是整个代码文件的核心部分,

    以JavaScript为例,其注释主要分为三种

    第一种注释
    //这是注释内容

    第二种注释

    /*这是注释内容*/

    第三种注释

    /*
    *这是注释内容
     */
    

    为了提取中文字符串,我们首先需要删除注释中的字符串,以//为例
    line =re.sub(r'//.*$','',line)
    这里直接将每一行中的//后面的字符都替换为'',这样在后面的提取中,就会自动排除掉这些注释中的字符串。

    更多相关内容
  • JS的字符串都是string对象,可以用string对象的length属性可以获取其长度,但是无论是中文、全角符号以及英文最小... } 抓取出每个字符,匹配全角字符汉字的,则计2个字符,其他的则计1个字符代码如下: <scri
  • js判断输入字符串长度实例代码汉字算两个字符,字母数字算一个) 文本输入时,由于数据库表字段长度限制会导致提交失败,因此想到了此方法验证。 废话不多说上代码: <html> <head> <title>js...
  • 如果是汉字可能就要计算好字符个数,如果是汉字和英文混合,那就只能望洋兴叹了。 可是恰好我需要这样一个函数,于是就自己实现了一个,其中如何判断汉字和英文 参看了此处。 代码简单也无优化,若有更好的方法欢迎...
  • 一,判断全是中文 复制代码 代码如下: $str=”‘324是”; if(!eregi(“[^\x80-\xff]”,”$str”)){ echo “全是中文”; }else{ echo “不是”; } 二,判断含有中文 复制代码 代码如下: $str = “中文”; if (preg_...
  • 本篇文章主要介绍了PHP 实现字符串翻转(包含中文汉字)的实现代码,在PHP面试题中经常遇到,有兴趣的可以了解一下。
  • LCD显示字符串的代码

    2017-09-15 11:41:39
    开发板 C语言在LCD 显示字符串的代码 开发板 C语言在LCD 显示字符串的代码 开发板 C语言在LCD 显示字符串的代码
  • 主要介绍了js form表单input框限制20个字符,10个汉字,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 有时候我们需要限制用户的输入或者需要截取一定长度的字符串都需要用到这样的功能代码,这里脚本之家小编就为大家分享一下
  • 截取GB2312中文字符串 复制代码 代码如下: < ?php //截取中文字符串 function mysubstr($str, $start, $len) { $tmpstr = “”; $strlen = $start + $len; for($i = 0; $i < $strlen; $i++) { if(ord(substr...
  • Java 按照字节来截取字符串的工具,不会出现半个汉字。一个中文两个字节,一个英文字符只占 1 个字节** 1. 通常我们用于前端显示的时候,防止标题过长
  • 主要介绍了PHP实现过滤掉非汉字字符只保留中文字符,本文直接给出实现代码,需要的朋友可以参考下
  • 从源代码中抽取中文字符串的工具的源代码,从源代码中抽取中文字符串,修改为其他语言后替换原文件,以生成不同语言版本的软件
  • 今天需要用一个UTF-8的字符串截断函数,网上找了几个代码片段发现都有问题,于是查了一下原理自己了一个函数,代码片段如下
  • 今天小编就为大家分享一篇python 字符串只保留汉字的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Delphi获取汉字拼音字符串首字母的源代码,你可在输入框中输入任意中文,点击按钮即可获取到每个中文的拼音首字母,并转换成大写形式,如果不需要大写,可自行转换成小写。欢迎使用金字塔源码.传播jztsoft@。 运行...
  • 在网站开发中,经常会简单使用js代码来判断字符串中有多少汉字的功能。今天小编抽时间给大家分享实现代码。废话不多说了,直接给大家贴代码了。 $("form").submit(function () { var content = editor....
  • 如何从C#获取字符串中汉字的个数?C#中使用正则表达式来从字符串中判断出汉字,然后计数,从而得到字符串中的汉字个数。 先看这段代码代码如下: //首先引用命名空间 using System.Text.RegularExpressions; //...
  • 目的:计算字符串长度(英文占1个字符中文汉字占2个字符) 方法一: 代码如下:String.prototype.gblen = function() { var len = 0; for (var i=0; i<this>127 || this.charCodeAt(i)==94) { len += 2; } else {...
  • 主要给大家介绍了关于python生成各种字符串的方法实例,给大家提供些思路,抛砖引玉,希望大家能够喜欢
  • 本源码演示VB 6.0 如何将汉字转换为Unicode字符代码,在窗口中输入汉字,单击按钮,即可将汉字转换为Unicode字符,其实这个实现起来也比较简单,用VB内置函数AscW即可实现,代码的编写可参考如下:  Private Sub ...
  • 关于这个话题,我也看到网上有其他方法来解决。 不过从性能和代码量上... 代码如下: 代码如下: declare @sql varchar(1000) set @sql=’abc国m,de中d国e人民f’ select @sql 字符,DATALENGTH(@sql)-len(@sql) 汉字个数
  • 废话不读说了,直接给大家贴代码了,代码附有注释,可以说明一切,本文的不好,还请见谅。 import java.io.ByteArrayOutputStream; /** * Created by Administrator on 2016/2/2. * -----------16进制和字符串互...
  • 注1:代码中有中文,就要在头部指定编码方式,如果用编辑器写代码,还要注意IDE的文件存储编码格式(一般在setting) 注2:python3.x的源码文件默认使用utf-8编码,可以解析中文,开头不指定也行,但为了规范和避免...
  • 汉字字符串输出首字母源代码 可以把代码直接放到自己的程序中.通过函数调用.简单易懂~
  • C++打印中文字符

    2015-12-04 16:48:33
    C++打印中文字符,宽字符转换,避免中文打印乱码问题

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 547,514
精华内容 219,005
关键字:

中文字符怎么写代码