字符串函数

JavaScript数组常用操作

痞子三分冷 提交于 2020-02-28 18:35:28
前言 相信大家都用惯了jquery或者underscore等这些类库中常用的数组相关的操作,如$.isArray,_.some,_.find等等方法。这里无非是对原生js的数组操作多了一些包装。 这里主要汇总一下JavaScript数组操作的常用API。相信对大家解决程序问题很有帮助。 1、性质 JavaScript中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数。然而,这些数字索引在内部被转换为字符串类型,这是因为JavaScript对象中的属性名必须是字符串。 2、操作 2.1 判断数组类型 var array0 = []; // 字面量 var array1 = new Array(); // 构造器 // 注意:在IE6/7/8下是不支持Array.isArray方法的 alert(Array.isArray(array0)); // 考虑兼容性,可使用 alert(array1 instanceof Array); // 或者 alert(Object.prototype.toString.call(array1) === '[object Array]'); 2.2 数组与字符串 非常简单:由数组转换为字符串,使用join;由字符串转换为数组,使用split。 // join - 由数组转换为字符串,使用join console.log([

Python基础

五迷三道 提交于 2020-02-28 16:12:47
Python基础 Python是时下最流行的编程语言之一,在诸多领域都有着广泛的应用。 目前Python的主流版本有Python2和Python3两个,在这里我们使用Python3来进行学习。 目录: 一、python的基本语法 二、python的基本数据类型 三、条件语句 四、循环语句 五、函数 六、文件 七、python常用模块 一、基本语法 1.Python用缩进划分语句块,缩进为四个空格或者一个TAB键,使用时要保持一致。 2.Python中使用print()输出,使用input()输入。 3.import和from … import … 可以进行包和模块的导入。 4.多个语句在一行中,要使用“;”分隔。 5.注释符是#,注释多行使用doc string(’’’…’’’,”””…”””)。 6.标识符:标识符对大小写敏感 标识符由字母,数字和下划线组成,其中第一个字符必须是字母或者下划线 二、基本数据类型 Python中常见的数据结构有六种:Number(数值)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)、Set(集合)。这些数据类型不仅可以提高Python的运行效率,还极大地提高了我们的开发效率。并且它们让Python的操作变得简单便捷。 在这6个标准的数据类型中: 不可变数据:3个:Number(数值)、String

JavaScript中的正则表达式解析

情到浓时终转凉″ 提交于 2020-02-28 15:52:27
正则表达式是一个描述字符模式的对象。   JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法.   在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp对象,也可以用JavaScript 1.2中的新添加的一个特殊语法来创建RegExp对象.就像字符串直接量被定义为包含在引号内的字符一样,正则表达式直接量也被定义为包含在一对斜杠(/)之间的字符.所以,JavaScript可能会包含如下的代码: var pattern = /s$/;   这行代码创建一个新的RegExp对象,并将它赋给变量parttern.这个特殊的RegExp对象和所有以字母"s"结尾的字符串都匹配.用RegExp()也可以定义一个等价的正则表达式,代码如下: var pattern = new RegExp("s$");   无论是用正则表达式直接量还是用构造函数RegExp(),创建一个RegExp对象都是比较容易的.较为困难的任务是用正则表达式语法来描述字符的模式.JavaScript采用的是Perl语言正则表达式语法的一个相当完整的子集.   正则表达式的模式规范是由一系列字符构成的.大多数字符(包括所有字母数字字符)描述的都是按照字面意思进行匹配的字符

记忆面包之C语言

帅比萌擦擦* 提交于 2020-02-28 15:32:41
字符串的输入 在C语言中,有两个函数可以让用户从键盘上输入字符串,它们分别是: scanf():通过格式控制符%s输入字符串。除了字符串,scanf() 还能输入其他类型的数据。 gets():直接输入字符串,并且只能输入字符串。 但是,scanf() 和 gets() 是有区别的: scanf() 读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。 gets() 认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空格,只要不按下回车键,对 gets() 来说就是一个完整的字符串。换句话说,gets() 用来读取一整行字符串。 #include <stdio.h> int main(){ char str1[30] = {0}; char str2[30] = {0}; char str3[30] = {0}; //gets() 用法 printf("Input a string: "); gets(str1); //scanf() 用法 printf("Input a string: "); scanf("%s", str2); scanf("%s", str3); printf("\nstr1: %s\n", str1); printf("str2: %s\n", str2); printf("str3

《剑指Offer》Java实现合集

我的梦境 提交于 2020-02-28 14:46:22
本文参考自《剑指offer》一书,代码采用Java语言。 更多: 《剑指Offer》Java实现合集 题目   请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.”。 思路   首先要询问面试官是新建一个字符串还是在原有的字符串上修改,本题要求 在原有字符串上进行修改。   若从前往后依次替换,在每次遇到空格字符时,都需要移动后面O(n)个字符,对于含有O(n)个空格字符的字符串而言,总的时间效率为O(n 2 )。   转变思路:先计算出需要的总长度,然后从后往前进行复制和替换,,则每个字符只需要复制一次即可。时间效率为O(n)。 测试用例   1.字符串中无空格   2.字符串中含有空格(连续空格,空格在首尾等)   3.字符串为空字符串或者为null 完整Java代码 1.根据牛客网的编程练习参考,方法的输入为StringBuffer(String无法改变长度,所以采用StringBuffer),输出为String。    主程序中,可以利用 StringBuffer sBuffer = new StringBuffer (str) ; 来获得字符串的StringBuffer。 2.代码中包含测试代码 /** * * @Description 替换空格 * * @author yongh *

面试题5:替换空格

百般思念 提交于 2020-02-28 14:44:14
// 面试题5:替换空格 // 题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”, // 则输出“We%20are%20happy.”。 解题思路: 简单粗暴的方法就是,从前往后依次扫描,碰到空格就先把空格后边的字符串都后移两个单位,然后把‘ ’依次改写成‘%’‘2’‘0’, 但是第二个空格之后的字符串会被移动多次,时间开销比较大。 假设字符串的长度是n,对于每个空格字符,后面需要移动的字符数为O(n), 因此对于含有O(n)个空格字符的字符串而言,总的时间效率是O(n^2)。 为了减少时间开销,可以尝试减少字符串的移动次数,从字符串尾部开始移动, 一次性就把字符放到它应该在的位置上,而不是从前向后,每次移动两个单位。 首先,从前到后遍历字符串,计算字符串实际长度与空格数量,然后计算出字符串的新长度。 两个指示标志p1和p2,p1指向原字符串结尾‘\0’,p2指向新字符串的结尾(‘\0’将被移动到的位置)。 如果p1指向‘ ’,p2填入‘0’,向前移一位,填入‘2’,向前移一位,填入‘%’,向前移一位,p1再向前移一位。 如果p1不指向‘ ’,直接将p1内容填入p2,p1 p2向前移一位即可。 当p1<p2且p1>=0时,重复上述过程,就可以将字符串中的‘ ’替换为‘%20’ 第二种方法中,所有的字符串只会被复制和移动一次

面试题4:替换空格

一个人想着一个人 提交于 2020-02-28 14:43:50
题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy",则输出”We%20are%20happy". 原因:在网络编程中,如果URL参数中含有特殊字符,如:空格、“#”等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器识别的字符。转换规则是在“%”后面跟上ASCII码的两位十六进制的表。比如:空格的ASCII玛是32,即十六进制的0x20,因此空格被替换成“%20”。 时间复杂度为O(n2)不足以拿到Offer 现在我们考虑怎么做替换操作。最直观的做法是从头到尾扫描字符串,每一次碰到空格字符的时候做替换。由于是把1个字符替换称3个字符,我们必须把空格后面的所有的字符都后移两个字节,否则就有两个字符被覆盖了。 举个例子,我们从头到尾把“We are happy"中的每 一个空格替换成 ”%20“。为了形象期间,我们可以用一个表格来表示字符串,表格中的每个格子表示一个字符。如下图所示: 我们替换了第一个空格,这个字符串编程图b中的内容,表格中灰色背景表示需要移动的字符。接着我们替换第二个空格,替换之后的内容如图c所示。同时我们注意到用深灰色的北京标注”happy“部分被移动了两次。 假设字符的长度是n。对每个空格字符,需要移动后面O(n)个字符,因此对含有O(n)个空格字符串而言总的时间效率是O(n2).

excel学习

☆樱花仙子☆ 提交于 2020-02-28 12:48:40
1、execel使用技巧 杂七杂八 (1)让序号自动更新,使用函数ROW()-1 COLUMN()获取当前 (2)单元格合并,将单元格的内容整合phonetic(A1:C1) 获取选中单元格 =》填充=》两端对齐 (3)快速定位 f5 (4)自定义函数 文件=》选项=》自定义功能区=》主选项卡中选上开发工具 开发工具=》visual basic中自己写入函数代码。 引用 (1)相对引用: =A1+B1 向下拖拽时,会是=A2+B2… (2)绝对引用 某一列的值只加上某个位置固定的值 例如: 实现=A1+B1,=A2+B1,.... 选中B1,按f4,让B1变成绝对引用$B$1 (3)混合引用 想要保持列号不变时,在列号前面加 ; 需 要 保 持 行 号 不 变 时 , 需 要 在 行 号 前 面 加 ;需要保持行号不变时,需要在行号前面加 ; 需 要 保 持 行 号 不 变 时 , 需 要 在 行 号 前 面 加 例如:$D30,D$30. vlookup函数的使用 lookup_value:以某一个单元格作为查找标准 table_array:查找某个表的范围 col_index_num:返回查找区域的第几列的数据 range_lookup:是否是模糊查询 公式 公式使用:单元格中以“=”开头 其他表的某一个单元格,例如(表!D2) f2切换公式的编辑状态

python字符串格式化输出及相关操作代码举例

十年热恋 提交于 2020-02-28 12:37:15
字符串的格式化 Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。 在python中格式化输出字符串通用的形式为: 格式标记字符串 % 要输出的值组 其中,左边部分的"格式标记字符串"可以完全和c中的一致。右边的"值组"如果有两个及以上的值则需要用小括号括起来,中间用逗号隔开。 重点来看左边的部分。左边部分的最简单形式为: %code 其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用‘%s’来标记。比如: '%s %s %s' % (1, 2.3, ['one', 'two', 'three']) 它的输出为'1 2.3 ['one', 'two', 'three']',就是按照%左边的标记输出的。虽然第一个和第二值不是string类型,一样没有问题。在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出。前面说过还有一个repr()函数,如果要用这个函数,可以用%r来标记。除了%s外,还有很多类似的code: 整型数:%d 无符号整型数:%u

linux c 字符串查找函数 strstr strcasestr

无人久伴 提交于 2020-02-28 10:29:17
一、strstr函数使用 [1] 函数原型 char *strstr(const char *haystack, const char *needle); [2] 头文件 #include <string.h> [3] 函数功能 搜索"子串"在"指定字符串"中第一次出现的位置 [4] 参数说明 haystack -->被查找的目标字符串"父串" needle -->要查找的字符串对象"子串" 注:若needle为NULL, 则返回"父串" [5] 返回值 (1) 成功找到,返回在"父串"中第一次出现的位置的 char *指针 (2) 若未找到,也即不存在这样的子串,返回: "NULL" [6] 程序举例 #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char *res = strstr("xxxhost: www.baidu.com", "host"); if(res == NULL) printf("res1 is NULL!\n"); else printf("%s\n", res); // print:-->'host: www.baidu.com' res = strstr("xxxhost: www.baidu.com", "cookie"); if(res ==