字符

JavaScript-----截取字符串的常用方法

早过忘川 提交于 2020-03-23 18:02:03
1.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符 start 必需,一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置 stop 可选,一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾 var str="Hello WOrld!"; console.log(str.substring(1)); console.log(str.substring(1,7)); console.log(str.substring(1,str.length)); 2.substr(start,length) 在字符串中抽取从下标start开始的指定数目的字符 start 必需,要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推 length 可选,子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串 var str="Hello WOrld!"; console.log(str.substring(1,7)); 3.slice(start,end) 可提取字符串的某个部分

JavaScript中的16进制字符(改进)

半世苍凉 提交于 2020-03-23 14:56:19
后来经过自己的测试,发现将字符转换为十六进制的方法不完善。 原始的代码: //将文字转换为16进制 function textToSix(str) { return escape(str).replace(/%/g, function () { return "\\"; }).toLowerCase(); } 改进后的: //将文字转换为16进制 function textToHex(str) { //escape对0-255以外的unicode值进行编码时输出%u****格式,例如:%u6267%u624b%u6cea%u773c //将其中的%替换成\就是十六进制的 if (typeof str == "string") { return escape(str).replace(/%/g, function () { return "\\"; }).toLowerCase(); } else { return null; } } 主要是增加了一个验证是否为字符串的验证。 在完善了这个方法之后,我又觉得是不是要改进下面这个方法: //将16进制表示为文字 function sixToText(str) { return unescape(str); } 本意是将"\unnn"之类的字符转换回文字。其实,只需看看unescape这个方法的原理(工作原理:通过找到形式为 %xx 和

记录--正则表达式

百般思念 提交于 2020-03-23 13:51:11
定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%>','g'); 2. 字面量 var reg=/<%[^%>]%>/g; g: global,全文搜索,默认搜索到第一个结果接停止 i: ingore case,忽略大小写,默认大小写敏感 m: multiple lines,多行搜索(更改^ 和$的含义,使它们分别在任意一行对待行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配) 元字符 正则表达式让人望而却步以一个重要原因就是其转义字符太多了,组合非常之多,但是正则表达式的元字符(在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符)并不多 元字符:( [ { \ ^ $ | ) ? * + . 并不是每个元字符都有其特定意义,在不同的组合中元字符有不同的意义,分类看一下 预定义特殊字符 字符 含义 \t 水平制表符 \r 回车符 \n 换行符 \f 换页符 \c X 与X对应的控制字符(Ctrl+X) \v 垂直制表符 \0 空字符 字符类 一般情况下正则表达式一个字符(转义字符算一个)对应字符串一个字符,表达式 ab\t 的含义是 但是我们可以使用元字符[]来构建一个简单的类,所谓类是指,符合某些特征的对象,是一个泛指,而不是特指某个字符了

个人项目wc.exe (C++)

时光总嘲笑我的痴心妄想 提交于 2020-03-23 13:29:56
GitHub:https://github.com/SInXW/wc.exe 一、题目描述 1.题目描述 1. 实现一个简单而完整的软件工具(源程序特征统计程序)。 2. 进行单元测试、回归测试、效能测试,在实现上述程序的过程中使用相关的工具。 3. 进行个人软件过程(PSP)的实践,逐步记录自己在每个软件工程环节花费的时间。 2.WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数、单词数和行数。 实现一个统计程序,它能正确统计程序文件中的字符数、单词数、行数,以及还具备其他扩展功能,并能够快速地处理多个文件。 具体功能要求: 程序处理用户需求的模式为: wc.exe [parameter] [file_name] 基本功能列表: wc.exe -c file.c //返回文件 file.c 的字符数 wc.exe -w file.c //返回文件 file.c 的词的数目 wc.exe -l file.c //返回文件 file.c 的行数 扩展功能: -s 递归处理目录下符合条件的文件。 -a 返回更复杂的数据(代码行 / 空行 / 注释行)。 空行:本行全部是空格或格式控制字符,如果包括代码,则只有不超过一个可显示的字符,例如“{”。

Linux 文件编码大挪移

和自甴很熟 提交于 2020-03-23 11:15:52
3 月,跳不动了?>>> 你可能已经知道,计算机除了二进制数据,是不会理解和存储字符、数字或者任何人类能够理解的东西的。一个二进制位只有两种可能的值,也就是0或1,真或假,是或否。其它的任何事物,比如字符、数据和图片,必须要以二进制的形式来表现,以供计算机处理。 简单来说,字符编码是一种可以指示电脑来将原始的 0 和 1 解释成实际字符的方式,在这些字符编码中,字符都以一串数字来表示。 字符编码方案有很多种,比如 ASCII、ANCI、Unicode 等等。下面是 ASCII 编码的一个例子。 字符 二进制 A 01000001 B 01000010 在 Linux 中,命令行工具iconv用来将使用一种编码的文本转化为另一种编码。 你可以使用 file 命令,并添加-i或--mime参数来查看一个文件的字符编码,这个参数可以让程序像下面的例子一样输出字符串的 mime (Multipurpose Internet Mail Extensions) 数据: $ file -i Car.java $ file -i CarDriver.java 在 Linux 中查看文件的编码 iconv 工具的使用方法如下: $ iconv option $ iconv options -f from-encoding -t to-encoding inputfile(s) -o

Linux 文件编码大挪移

梦想的初衷 提交于 2020-03-23 11:13:32
3 月,跳不动了?>>> 在这篇教程中,我们将解释字符编码的含义,然后给出一些使用 命令 行工具将使用某种字符编码的文件转化为另一种编码的例子。最后,我们将一起看一看如何在 Linux 下将使用各种字符编码的文件转化为 UTF-8 编码。 你可能已经知道,计算机除了二进制数据,是不会理解和存储字符、数字或者任何人类能够理解的东西的。一个二进制位只有两种可能的值,也就是 0 或 1 , 真 或 假 , 是 或 否 。其它的任何事物,比如字符、数据和图片,必须要以二进制的形式来表现,以供计算机处理。 简单来说,字符编码是一种可以指示电脑来将原始的 0 和 1 解释成实际字符的方式,在这些字符编码中,字符都以一串数字来表示。 字符编码方案有很多种,比如 ASCII、ANCI、Unicode 等等。下面是 ASCII 编码的一个例子。 字符 二进制 A 01000001 B 01000010 在 Linux 中, 命令 行工具 iconv 用来将使用一种编码的文本转化为另一种编码。 你可以使用 file 命令,并添加 -i 或 --mime 参数来查看一个文件的字符编码,这个参数可以让程序像下面的例子一样输出字符串的 mime (Multipurpose Internet Mail Extensions) 数据: $ file -i Car.java $ file -i CarDriver

字符串_基本操作

限于喜欢 提交于 2020-03-23 09:31:06
concat /*--> */ /*--> */ concat 功能:1、用于将字符串组合起来 返回一个新的字符串 2、组合几个数组成为一个新数组 参数:str.concat(str,null,undefined,object,function) 参数都是待连接项 concat 不用用于除 字符串 数组 之外的类型 indexOf 功能:用于查找匹配的字符串或者数组元素 结果:找到返回索引 从0开始记录 找不到返回-1 参数:str.indexOf(searchValue, 开始搜索的位置) indexOf 不用用于除 字符串 数组 之外的类型 charAt 功能:用于查找指定位置的字符 参数:(0,str.length-1) 结果:返回指定位置的字符 位置大于str.length-1返回空字符串 charAt 不用用于除 字符串 数组 之外的类型 substring 功能:字符串截取 参数:(start,end) 参数规定非负整数 规则:包括开始位置 不包括结束位置;结果:返回一个截取的新字符串 substr 功能:字符串截取 参数:(start,length) start可以为负数,-1:最后一项,-2:倒数第二项 ; 结果:返回一个截取的新字符串 str.substr(-2,4)从倒数第二项开始寻找长度是四 slice 功能:字符串截取 参数:(start,end)

oracl函数

╄→гoц情女王★ 提交于 2020-03-23 06:07:21
一:大小写函数 1:lower()全部小写 select lower('HEHE') lowerwords from dual 2:upper()全部大写 3:initcap()首字母大写 4:concat()连接方法 5:substr(‘要截取的字符串’,起始位置)截取方法 位置从1开始 6:lengh(字符串)统计字符个数 7:instr('大字符串','小字符串') 返回小字符串在大字符串出现的位置 start_position   代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。   nth_appearance   代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。 8:lpad()和rpad() 左/右填充到n个字符与字符序列在第二个参数中 9:trim清除字符 10:add_months增加月数 11:floor对给定的字符取整 12:隐式转换 13:显示转换 to_char()对日期的转换 to_char对数字的转换 四舍五入函数:round() trunc截断数字函数 通用函数: nv1和nv2滤空函数 select sal*12工资,comm 奖金,sal*12+nvl

内容传送编码Base64原理

夙愿已清 提交于 2020-03-23 03:18:32
什么是Base64?   按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形 式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.) 为什么要使用Base64?   在设计这个编码的时候,我想设计人员最主要考虑了3个问题:   1.是否加密?   2.加密算法复杂程度和效率    3.如何处理传输?   加密是肯定的,但是加密的目的不是让用户发送非常安全的Email。这种加密方式主要就是“防君子不防小人”。即达到一眼望去完全看不出内容即 可。基于这个目的加密算法的复杂程度和效率也就不能太大和太低。和上一个理由类似,MIME协议等用于发送Email的协议解决的是如何收发Email, 而并不是如何安全的收发Email。因此算法的复杂程度要小,效率要高,否则因为发送Email而大量占用资源,路就有点走歪了。但是,如果是基于以上两 点,那么我们使用最简单的恺撒法即可,为什么Base64看起来要比恺撒法复杂呢?这是因为在Email的传送过程中,由于历史原因,Email只被允许

mysql数据库修改字符编码问题

走远了吗. 提交于 2020-03-23 02:51:45
遇到这种情况,现有项目的数据库已经建好,数据表也已经创建完成。 问题来的,数据库不能插入中文,调试时候发现中文数据从发送请求到最后请求处理完成这些步骤,中文还没有发生乱码。 只有在存储到数据库后查询数据并显示才会乱码。 那么到此可以确定是mysql出现问题了。 那么应该怎么办呢?哈哈,当然是看我们的度娘啦! 看的下度娘解决方法是: 将数据库的编码修改为utf8编码格式,因为安装mysql默认使用的字符编码latin1 what?这个编码是什么鬼,见都没见过。 查了下,Latin1是 ISO-8859-1 的别名。因为ISO-8859-1编码范围使用了单 字节 内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的 字节流 都不会被抛弃 这个latin1编码是单字节编码,而一般汉字是需要两个字节存储,所以这个编码格式不支持汉字。 接下来就看怎么改吧 数据库字符优先级有:系统级、数据库级、表级、字段。这5个优先级中字段优先级最高。举个列子。我们要向表中存储中文数据。如果表的字符编码是utf8,而字段的字符编码是latin1。那么如果我们存储中文还是会出现乱码,因为使用的编码是字段的字符编码latin1 在数据库创建时如果不设置数据库的默认字符编码,即缺省时会使用系统的字符编码latin1。创建表缺省时使用数据库的字符编码,字段同理。 从上面可以得出一个重要结论