字符

Notepad++正则表达式查找替换文本中文字符

[亡魂溺海] 提交于 2020-04-04 13:44:58
测试需求 测试工具中xml配置文件中注释字段包含中文字符,在Win10系统下使用工具中偶尔会出现中文乱码导致配置文件失效。解决方法将配置文件中的中文注释换成英文注释或者直接替换删除。如何将配置文件中的中文字符查找删除? 操作步骤 在Notepad文本工具中使用正则表达式匹配中文字符并替换。当然你可以采用Python写个小工具也无不可。Notepad中使用正则表达式[^\x00-\xff]匹配中文字符。 1、构造包含中文文本用于测试,包含中文字符、普通字符和特殊字符。 2、 中文字符正则表达式匹配:[^\x00-\xff]。 其中\x00-\xff匹配ASCII代码中十六进制代码为00-ff的字符,加个取反^,则就表示表示匹配非单字节的字符,例如汉字,汉字符号等字符集。如下 3、完成替换,中文字符已全部替换。替换后文本如下: 附录 ASCII字符集: http://www.asciitable.com/ 来源: https://www.cnblogs.com/linyfeng/p/12630701.html

44. 通配符匹配

帅比萌擦擦* 提交于 2020-04-04 11:32:42
题目描述查看: https://leetcode-cn.com/problems/wildcard-matching/   题目的意思是给一个字符串s,给一个模式串p,要看p和s匹不匹配。模式串里可以出现'?',匹配一个任意字符;可以出现'*',匹配0个或多个任意字符。 思路 创建一个数组dp[i][j]用来保存模式串p中的前i个字符和字符串s中的前j个字符匹不匹配。 dp[0][0]表示p中0个字符和s中0个字符匹不匹配,显然匹配。 dp[0][0] = true; dp[0][i]表示p中0个字符和s中[1,s.length]之间个字符匹不匹配,显然不可能匹配。 dp[i][0]表示p中[1,p.length]个字符和s中0个字符匹不匹配,这要看p中第i个字符是不是'*',这里的'*'表示空字符,'*'表示空字符的话,就看p中前一个字符和s匹不匹配。 for (int i = 1; i <= p.length(); i++) { if(p.charAt(i-1) == '*')dp[i][0] = dp[i-1][0]; } 处理完初始条件后,看之后的字符匹不匹配。 当p[i]是'?'或者p[i]==s[j]时候,就看p[0,i-1]和s[0,j-1]匹不匹配。 if(p.charAt(i-1) == '?' || p.charAt(i-1) == s.charAt(j-1))

unicode

纵然是瞬间 提交于 2020-04-04 04:48:23
Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符, 比如汉字"经"的编码是0x7ECF,注意字符码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制, 2的16次方等于65536,所以UCS-2最多能编码65536个字符。 编码从0到127的字符与ASCII编码的字符一样,比如字母"a"的Unicode 编码是0x0061,十进制是97,而"a"的ASCII编码是0x61,十进制也是97, 对于汉字的编码,事实上Unicode对汉字支持不怎么好,这也是没办法的, 简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万 多个,所以Unicode只能排除一些几乎不用的汉字,好在常用的简体汉字 也不过七千多个,为了能表示所有汉字,Unicode也有UCS-4规范,就是用 4个字节来编码字符 中文名 Unicode码 外文名 Unicode 文 字 中、日、韩 字 符 UCS-2 分 类 计算机科学 目录 1 定义 2 方法 定义 编辑 Unicode码扩展自ASCII 字元集 。在严格的ASCII中,每个字元用7位元表示

c语言文件读写操作

…衆ロ難τιáo~ 提交于 2020-04-04 01:25:06
c语言读写文件操作函数位于stdio.h头文件 读文件:fgetc(按字符)、fgets(按字符串)、fread(按数据块)、fscanf(按指定格式化); 写文件:fputc(按字符)、fputs(按字符串)、fwrite(按数据块)、fprintf(按指定格式化); 主要涉及操作函数:fopen、fclose; fopen: 解释: 函数原型:FILE * __cdecl fopen(_In_z_ const char * _Filename, _In_z_ const char * _Mode); 说明: 参数:_Filename--文件路径、_Mode--文件操作模式(读,写,追加) 返回值:文件顺利打开后,指向该流的 文件指针 就会被返回。如果文件打开失败则返回 NULL ,并把 错误代码 存在errno 中; (更详细的资料请移步: http://baike.baidu.com/view/656681.htm ) fgetc: 解释:意为从 文件指针 stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节; 函数原型:int __cdecl fgetc(_Inout_ FILE * _File); 说明: 参数:_File--指向FILE类型的指针 返回值:返回所读取的一个字节,如果读到文件末尾或者读取出错时返回EOF; 例程: void readc

文件操作

我是研究僧i 提交于 2020-04-04 00:41:53
绝对路径:盘符开头并精确到目标文件,例如:f:\试用\实验.txt 相对路径:当前目录下的文件,例如:实验.txt 文件操作 ps:操作完成后一定要结束操作,使用s.close,避免持续占用内存空间。 open() open(“绝对路径或相对路径”,“模式”,“编码格式”) r ——只读:只是读取文件,不作任何更改。 s = open("f:\试用\实验.txt",mode="r",encoding="utf-8") q = s.read() print(q) s.close() w ——只写:若没有文件就创建文件,然后写入;若已有,那便清空内容重新写入。 s = open("f:\试用\实验.txt",mode="w",encoding="utf-8") s.write("你好世界") s.close() a ——追加:在已有的文件的内容后面追加新的内容。 s = open("f:\试用\实验.txt",mode="a",encoding="utf-8") s.write("你好世界") s.close() 操作非文字(图片,视频或其他)类型的文件时用 bytes rb ——用byte数据类型读取文件 s = open("f:\试用\实验.txt",mode="rb") content = s.read() print(content) #输出的内容按byte类型输出,b

将字符串中的字母全部转换为大写字母/小写字母

拥有回忆 提交于 2020-04-03 23:43:52
<script> let str = "Hello World!"; // 将字符串的字符全部转换为小写字符 function lowerCase(str) { let arr = str.split(""); let newStr = ""; //通过for循环遍历数组 for (let i = 0; i < arr.length; i++) { if (arr[i] >= 'A' && arr[i] <= 'Z') newStr += arr[i].toLowerCase(); else newStr += arr[i]; } return newStr; } // 将字符串的字符全部转换为大写字符 function upperCase(str) { let arr = str.split(""); let newStr = ""; // 通过数组的forEach方法来遍历数组 arr.forEach(function (value) { if (value >= 'a' && value <= 'z') newStr += value.toUpperCase(); else newStr += value; }); return newStr; } let res1 = lowerCase(str); let res2 = upperCase(str); console

sed 命令详解

ぃ、小莉子 提交于 2020-04-03 22:14:55
sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 sed的选项、命令、替换标记 命令格式 sed [options] 'command' file(s) sed [options] -f scriptfile file(s) 选项 -e<script>或--expression=<script>:以选项中的指定的script来处理输入的文本文件; -f<script文件>或--file=<script文件>:以选项中指定的script文件来处理输入的文本文件; -h或--help:显示帮助; -n或--quiet或——silent:仅显示script处理后的结果; -V或--version:显示版本信息。 参数 文件:指定待处理的文本文件列表。 sed命令 a\ 在当前行下面插入文本。 i\ 在当前行上面插入文本。 c\ 把选定的行改为新的文本。 d 删除,删除选择的行。 D 删除模板块的第一行。 s

LeetCode 8. 字符串转换整数 (atoi)

自闭症网瘾萝莉.ら 提交于 2020-04-03 21:21:07
我的LeetCode: https://leetcode-cn.com/u/ituring/ 我的LeetCode刷题源码[GitHub]: https://github.com/izhoujie/Algorithmcii LeetCode 8. 字符串转换整数 (atoi) 题目 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下: 如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。 假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。 该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。 注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换,即无法进行有效转换。 在任何情况下,若函数不能进行有效的转换时,请返回 0 。 提示: 本题中的空白字符只包括空格字符 ' ' 。 假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−2^31, 2^31 − 1]。如果数值超过这个范围,请返回 INT_MAX (2^31 − 1) 或 INT_MIN (−2^31)

shell(2):正则表达式

大城市里の小女人 提交于 2020-04-03 18:38:04
一、整理正则表达式博客 (1)正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。 在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,下面我们就为大家介绍三种文本处理工具/命令:grep、sed、awk,它们三者均可以解释正则。 正则介绍: ^行首 $行尾 .除了换行符以外的任意单个字符 .*所有字符 *:左边的那一个字符有0个到无穷个 +:左边的那一个字符有1个到无穷个 ?:左边的那一个字符有0个到1个 {n}:左边的那一个字符有n个 {n,m}:左边的那一个字符有n个到m个 {n,}:左边的那一个字符有n个到无穷个    []字符组内的任一字符 [^]对字符组内的每个字符取反(不匹配字符组内的每个字符) ^[^]非字符组内的字符开头的行 [a-z]:所有的小写字母 [A-Z]:所有的大写字母 [a-zA-Z]:所有的大小写字母,等于[a-Z] [0-9]:数字 \<单词头 单词一般以空格或特殊字符做分隔,连续的字符串被当做单词 \>单词尾 注意的一点是:如果要匹配的字符就是-本身话,必须放到最后去[123123\-]    扩展正则sed 加 -r参数或转义 grep 加-E或egrep或转义 awk直接支持,但不包含{n,m} 可以使用--posix支持 awk '/ro

字符串

眉间皱痕 提交于 2020-04-03 05:21:43
https://www.jianshu.com/p/4db7a5eedc42 c语言中字符串有3个核心要点:第一是用指针指向字符串的头;第二是固定尾部(字符串总是以\n来结尾);第三是组成字符串的各字符彼此地址相连。 \0'作为特殊的数字被字符串定义为结尾标志:副作用是字符串中无法包含‘\0'这个字符 https://www.cnblogs.com/mhq-martin/p/11392108.html 来源: https://www.cnblogs.com/focusonoutput/p/12624221.html