字符串函数

匹配中文字符的正则表达式: [/u4e00-/u9fa5]

无人久伴 提交于 2020-02-24 20:08:42
原文: 匹配中文字符的正则表达式: [/u4e00-/u9fa5] 这里是几个主要非英文语系字符范围(google上找到的): 2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅助部首、注音符号、日本假名、韩文音符,中日韩的符号、标点、带圈或带括符文数字、月份,以及日本的假名组合、单位、年号、月份、日期、时间等。 3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582个中日韩汉字。 4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中日韩汉字。 A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。 AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文字。 F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日韩汉字。 FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角符号等。 比如需要匹配所有中日韩非符号字符,那么正则表达式应该是^[/u3400-/u9FFF]+$ 理论上没错, 可是我到msn.co.ko随便复制了个韩文下来, 发现根本不对, 诡异 再到msn.co.jp复制了个'お', 也不得行.. 然后把范围扩大到^[/u2E80-/u9FFF]+$, 这样倒是都通过了, 这个应该就是匹配中日韩文字的正则表达式了,

理解Javascript的正则表达式

假装没事ソ 提交于 2020-02-24 19:31:47
前言 本文4089字,阅读大约需要12分钟。 总括: 本文基于Javascript的正则表达式,结合笔者个人的思考来对正则表达式的特性进行讲解。 参考文章: A Practical Guide to Regular Expressions (RegEx) In JavaScript , 正则表达式 公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍 事亲以敬,美过三牲。 正文 相信很多人第一次见到正则表达式的第一印象都是懵逼的,对新手而言一个正则表达式就是一串毫无意义的字符串,让人摸不着头脑。但正则表达式是个非常有用的特性,不管是Javascript、PHP、Java还是Python都有正则表达式。俨然正则表达式已经发展成了一门小语言。作为编程语言的一部分,它不想变量,函数,对象这种概念那么容易理解。很多人对于正则表达式的理解都是基于简单的匹配,等到业务中用到完全靠从网上copy来解决问题。不得不说,随着各种开源技术社区的发展,靠copy的确能解决业务中绝大多数的问题,但作为一名有追求的程序员,是绝对不会让自己仅仅依靠 Ctrl C + Ctrl V 来编程的。本文基于Javascript的正则表达式,结合笔者个人的思考和社区内一些优秀正则表达式文章来对正则表达式进行讲解。 Javascrip中的正则表达式使用方法 简单介绍下

BOOST 之filesystem, path

旧街凉风 提交于 2020-02-24 18:54:42
目录[-] 使用 boost::filesystem 的第一个程序 清单 1. 用于确定某个文件的类型是否为 Directory 的代码 了解 Boost path 对象 清单 2. 创建 Boost path 对象的方法 清单 3. 使用本机格式初始化 path 清单 4. 使用可移植格式初始化 path path 成员函数概述 清单 5. 使用 path::iterator(begin 和 end 接口) 清单 6. 路径字符串的串联 错误处理 清单 7. Boost 中的错误处理 Boost Filesystem Library 中的函数类别 属性函数 文件系统操作函数 清单 8. Boost 中的重命名功能 实用工具 清单 9. 测试两个路径是否等效 杂项函数 清单 10. 使用 boost::basename 结束语 C++ 语言(实际上是 C++ 标准)的最常见问题之一是,缺乏定义良好的库来帮助处理文件系统查询和操作。由于这个原因,程序员不得不使用本机操作系统提供的应用程序编程接口(Application Program Interfaces,API),而这使得代码不能在平台之间移植。以下面的简单情况为例:您需要确定某个文件是否是 Directory 类型。在 Microsoft® Windows® 平台中,可以通过调用 GetAttributes 库函数(在

了解 Boost Filesystem Library

て烟熏妆下的殇ゞ 提交于 2020-02-24 18:53:00
原文地址: http://www.ibm.com/developerworks/cn/aix/library/au-boostfs/index.html C++ 语言(实际上是 C++ 标准)的最常见问题之一是,缺乏定义良好的库来帮助处理文件系统查询和操作。由于这个原因,程序员不得不使用本机操作系统提供的应用程序编程接口(Application Program Interfaces,API),而这使得代码不能在平台之间移植。以下面的简单情况为例:您需要确定某个文件是否是 Directory 类型。在 Microsoft® Windows® 平台中,可以通过调用 GetAttributes 库函数(在 windows.h 头文件中定义)进行此操作: DWORD GetFileAttributes (LPCTSTR lpFileName); 对于目录,所得到的结果应该为 FILE_ATTRIBUTE_DIRECTORY,而您的代码必须检查是否为此结果。在 UNIX® 和 Linux® 平台上,可以通过使用 stat 或 fstat 函数及 sys/stat.h 中定义的 S_ISDIR 宏来实现相同的功能。您还必须理解 stat 结构。下面是对应的代码: #include <sys/stat.h> #include <stdio.h> int main() { struct stat

javascript中字符串操作函数

旧时模样 提交于 2020-02-24 18:51:12
1、charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码。 strObj.charCodeAt(index) 说明: index将被处理字符的从零开始计数的编号。有效值为0到字符串长度减1的数字。 如果指定位置没有字符,将返回NaN。 例如: var str = "http://www.hzhuti.com "; str.charCodeAt(0); 结果:65 2、fromCharCode方法从一些Unicode字符串中返回一个字符串。 String.fromCharCode([code1[,code2...]]) 说明: code1,code2...是要转换为字符串的Unicode字符串序列。如果没有参数,结果为空字符串。 例如: String.fromCharCode(65,66,112); 结果:ABp 3、charAt方法返回指定索引位置处的字符。如果超出有效范围的索引值返回空字符串。 strObj.charAt(index) 说明: index想得到的字符的基于零的索引。有效值是0与字符串长度减一之间的值。 例如: 代码如下 复制代码 var str = "ABC"; str.charAt(1); 结果:B 4、slice方法返回字符串的片段。 strObj.slice(start[,end]) 说明:

小白成长之路:初识python(一)

梦想的初衷 提交于 2020-02-24 15:52:19
  每日一篇博文,记录小白成长之路   这几天一直忙着租房子,真是觉得心好累,今天看的不是很多,好了废话不多说 上代码 ===============================================================================   # Python中关于字符串类的一些基本函数# str.upper() 字符串变大写 返回一个新的字符串# str_1 = "hey"# str_2 = str_1.upper()# print (str_2)# str.lower() 把字符串中的每个字母都变小写# str.center(width,fillchar =None)# a1 = "alex" #内容居中,width为设置的总长度# ret = a1.center(10,'*')# print (ret)# ***alex***# format# s = "hello i am {0},i am {1} years old"# print (s)#在format函数中,{0}{1}充当与占位符的作用# new_s = s.format('tianqi',23) #'tianqi'代替{0}的位置# print (new_s)# hello i am tianqi,i am 23 years old# str.count(self, sub

2 字符串:替换空格

血红的双手。 提交于 2020-02-24 13:57:56
1.2 字符串:替换空格 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 class Solution { public: void replaceSpace(char *str,int length) { if(length <= 0) return ; if(str == nullptr) return ; int cnt = 0 ; //统计空格个数,以便于推算最终数组大小 for(int i = 0;i<length;i++) { if(str[i] == ' ') cnt ++; } int num = length + cnt * 2 -1 ; for(int i = length-1 ;i >= 0 ;i--) { if(str[i] != ' ') str[num--] = str[i]; else { str[num--] = '0'; str[num--] = '2'; str[num--] = '%'; } } } }; 像这种替换一类的, 若少的替换成多的,那就对原来的数组从 后 往前扩容后操作。 若多的替换成少的,那就从 前 往后进行替换 来源: CSDN 作者: 雨luo凡城 链接: https://blog.csdn.net/jdy

JS正则表达式

倖福魔咒の 提交于 2020-02-24 07:00:34
JavaScript 正则表达式: 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。 搜索模式可用于文本搜索和文本替换。 RegExp对象 RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。 什么是正则表达式? 正则表达式是由一个字符序列形成的搜索模式 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容 正则表达式可以使一饿简单的字符,或一个更复杂的模式 正则表达式可用于所有文本搜索和文本替换的操作` 语法 /正则表达式主体/修饰符(可选) 其中修饰符是可选的。 创建RegExp对象的语法 new RegExp ( pattern , attributes ) ; 参数 参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。 参数 attributes 是一个可选的字符串,包含属性 “g”、“i” 和 “m”,分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。 返回值 返回值 一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么

Java面试整理

﹥>﹥吖頭↗ 提交于 2020-02-24 05:05:59
Java面试题汇总 一 Java基础知识 1、JDK和JRE有什么区别? 1)JDK: Java Development Kit 的简称,Java开发套件(工具包),他提供二Java的开发环境和运行环境。 2)JRE:Java Runtime Environment 的简称,Java运行环境,为Java的运行提供了所需环境。 具体来说JDK其实包含了JRE,同时还包含了编译java源码的编译器javac,还包含了许多Java程序调试和分析的工具,简单来说,如果要运行Java程序只需要安装JRE就可以。若要编写Java程序,则需要安装jdk。 2 = = 和equals()方法的区别是什么? 1)对于 = = ,比较的是值是否相等 基本数据类型的变量(byte、int、long、short、char、double、boolean、),则直接比较其存储的“值”是否相等; 引用类型的变量,则比较的是所指向的对象的地址。 2)对于equals()方法 注意equals()方法不能作用于基本类型的变量,equals继承Object类,(重写了equals方法)比较的是 是否是同一个对象,即对象的内容。如果没有对equals方法进行重写,则比较的是引用类型的变量所指的对象的地址; 诸如String、Date等对equals方法进行了重写的话,比较的是所指向的对象的内容。 3

PHP的学习--PHP加密

和自甴很熟 提交于 2020-02-24 04:15:32
PHP中的加密方式有如下几种 1. MD5加密 string md5 ( string $str [, bool $raw_output = false ] ) 参数 str -- 原始字符串。 raw_output -- 如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。 这是一种不可逆加密,执行如下的代码 $password = '123456'; echo md5($password); 得到结果是e10adc3949ba59abbe56e057f20f883e 2. Crype加密 string crypt ( string $str [, string $salt ] ) crypt() 返回一个基于标准 UNIX DES 算法或系统上其他可用的替代算法的散列字符串。 参数 str -- 待散列的字符串。 salt -- 可选的盐值字符串。如果没有提供,算法行为将由不同的算法实现决定,并可能导致不可预料的结束。 这是也一种不可逆加密,执行如下的代码 $password = '123456'; $salt = "test";// 只取前两个 echo crypt($password, $salt); 得到的结果是teMGKvBPcptKo 使用自动盐值的例子如下: $password = crypt(