substr

Objective-C之NSString和NSMutableString

三世轮回 提交于 2020-03-05 09:30:19
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。 +(id) stringWithContentsOfFile:path encoding:enc error:err 创建一个新字符串并将其设置为path指定的文件的内容,使用字符编码enc,如果非零,则返回err中错误 +(id) stringWithContentsOfURL:url encoding:enc error:err 创建一个新的字符串,并将其设置为url的内容,使用字符编码enc,如果非零,则返回err中的错误 +(id) string 创建一个新的空字符串 +(id) stringWithString:nsstring 创建一个新的字符串,并将其设置为nsstring NSString *str = @"1"; //initwithstring和stringwithtstring是不是现在不可以直接加字符串,而是必须加字符串的名字? NSString *str2 = [NSString stringWithString:str]; -(id

【LeetCode 943】 Find the Shortest Superstring

风流意气都作罢 提交于 2020-03-05 01:15:03
题目描述 Given an array A of strings, find any smallest string that contains each string in A as a substring. We may assume that no string in A is substring of another string in A. Example 1: Input: ["alex","loves","leetcode"] Output: "alexlovesleetcode" Explanation: All permutations of "alex","loves","leetcode" would also be accepted. Example 2: Input: ["catg","ctaagt","gcta","ttca","atgcatc"] Output: "gctaagttcatgcatc" Note: 1 <= A.length <= 12 1 <= A[i].length <= 20 思路 思路一: DFS。时间复杂度:O(n!) 。注意剪枝:当前路径的长度>已有的最短路径长度时,不用继续搜索。然后,如果在搜索,保存最优字符串,不断的对字符串操作很费时间,可以保存路径,最后根据路径获得最后的字符串。 思路二: 动态规划。dp[s][i]

Oracle中生成UUID

一个人想着一个人 提交于 2020-03-04 09:30:08
Oracle中生成跨系统的唯一识别符UUID非常方便,比生成序列还简单,直接用sys_guid()就行,例如 select sys_guid() from dual; 会产生一个跟MAC地址、生成时间相关的一个32位16进制的随机数。 数据类型是 raw(16) 有32个字符。 它的生成机制足以保证全球所有系统产生的海量guid重复可能性非常小。这在AIXM概念中非常重要。 如果要让返回的uuid满足标准格式,可利用如下函数实现: create or replace FUNCTION GET_UUID RETURN VARCHAR AS guid VARCHAR2 (64); BEGIN guid := lower(RAWTOHEX(sys_guid())); RETURN substr(guid,1,8)||'-'||substr(guid,9,4)||'-'||substr(guid,13,4)||'-'||substr(guid,17,4)||'-'||substr(guid,21,12); END GET_UUID; select get_uuid from dual; 得到结果:a8f662b8-6e7a-13fe-e040-970a437c6bd7 来源: CSDN 作者: RongSen33 链接: https://blog.csdn.net/g610567970

sql--DQL_函数

巧了我就是萌 提交于 2020-03-02 11:38:32
一、函数的分类: 1、单行函数: 输入一行数据,每一行都会返回一个结果。 a、字符函数 :输入的是字符,返回的也是字符 常见的函数(upper 、lower、initcap首字母大写、concat、length(按字符来统计)、lengthb(按字节的方式来统计)、lengthc(按照的是unique码统计)、substr、instr、trim、ltrim、rtrim、replace b、数值函数:abs, mod, trunc, round, ceil ,floor c、日期函数 :输入的是一个日期返回的是日期或数值 sysdate , months_between (距某个日期相隔了几个月),add_months , next_day, last_day ,trunc d、转换函数 :to_char , to_number, to_date e、通用函数 :nvl , nvl2 ,nullif f、分支函数 : decode() ,case...when...then g、正则表达式函数 :regexp_substr,regexp_instr,regexp_like 2、多行函数/聚合函数/分组函数: 输入多行,返回的结果为一行 count(),sum(),avg()平均值,max(),min(),group by 分组, having 分组或筛选,rollup滚动函数

对称加密;加解密码

纵然是瞬间 提交于 2020-02-28 14:44:41
原先做项目中,有用过一个对敏感信息做对称加密的处理, 代码贴出来; /** * 参数加解密操作: * 参数解释 * $string: 明文 或 密文 * $operation:DECODE表示解密,其它表示加密 * $key: 密匙 * $expiry:密文有效期 */ function etoo_selfauthcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { if($operation == 'DECODE') { $string = str_replace('[a]','+',$string); $string = str_replace('[b]','&',$string); $string = str_replace('[c]','/',$string); } // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙 $ckey_length = 4; // 密匙 $key = md5($key ? $key : UC_KEY);//739764714dafb9b9fd2c81c5540d3b9f // 密匙a会参与加解密 $keya = md5(substr($key, 0, 16)); //md5(739764714dafb9b9)

P1032洛谷+BFS+去重+STL(substr(),replace())

风格不统一 提交于 2020-02-28 05:28:27
蒟蒻的第一道洛谷绿题,太菜了 题意很明显,知道算裸bfs,但是仔细想,蒟蒻表示很多难以下手。 1.如何去输入 2.如何去改变字符串 3.如何去存字符串 4.如何去标记已经出现的字符串//就像标记图中点一样 这是蒟蒻只有去求助题解了, 耻辱了 针对上面问题一一解答 1 .平时我们做的题,可能会输入一个n来代表输入的组数,而这里没有,然后看dalao博客才知道这样去输入,彻底刷新我的三观。 int n ; //代表输入组数,方便以后用 string a , b ; cin >> a >> b ; while ( cin >> ar [ i ] >> br [ i ] ) n ++ ; 这种输入肯定是不支持调试的,所以我调试的时候增加一个n,用for循环进行输入。 2.如何去改变字符串呢 ,dalao纷纷各显神通,有的手写函数,然而我发现有些dalao 用了 STL中的函数 。 str . substr ( pos , l ) //返回从str的pos位置开始寻找长度为l的字符串 str . replace ( pos , l , a ) //返回将str的pos,pos+l-1之间的字符串替换为字符串a # include <bits/stdc++.h> using namespace std ; int main ( ) { string a = "ChinaNO.1" ;

已知前序中序求后续;已知中序后序求前序;

青春壹個敷衍的年華 提交于 2020-02-27 18:32:52
后序遍历与中序遍历,求前序遍历 首先,一点基本常识,给你一个后序遍历,那么最后一个就是根(同理前序遍历,第一个是根) 那么这个算法的核心就是不断的求根; 接下来我用一个实例来说明怎样进行求根: 例如以上,给出后序遍历和中序遍历,求前序遍历 首先根据后序遍历的最后一个就是根,可以知道4是根,以此可将前序和后序都分为三部分; 看上图,在前序遍历中,绿色框中的4为根,则在4的左边,红色框的就为以4为根的左子树,黄色框的就是以4为根的右子树。 则在找到4这个根之后,此题可以转换为两个子问题,一下: 求红框的前序列,求黄框的前序列。 之后就可以递归了;我们再回到上面的图,再进行一个小小的思考; 观察前序遍历和后序遍历,都可以由三部分组成,红框的左子树,黄框的右子树以及绿框的根; 那么,在进行函数递归的时候,重点就是怎样计算各个部分的下标起始,来让程序可以递归下去; 上代码: 方法一: #include<cstdio> #include<iostream> #include<cstring> using namespace std; void beford(string in,string after){ if (in.size()>0){ char ch=after[after.size()-1]; cout<<ch;//找根输出 int k=in.find(ch); beford(in

string面试题

感情迁移 提交于 2020-02-27 11:18:41
题目一: /** * @author terry * 将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”*/题解: //方式一:public String reveerse( String str,int start,int end){ if (str != null){ char[] arr = str.toCharArray(); for (int x = start , y = end ; x < y ; x++, y--) { char temp = arr[x]; arr[x] =arr[y]; arr[y] = temp; } return new String(arr);} return null;}//方式二public String revrse( String str , int start,int end){ if (str != null){ String revrsestr = str.substring(0,start); for (int i = end; i >= start;i--){ revrsestr+=str.charAt(i); } revrsestr+=str.substring(end+1); return revrsestr; } return null;}//方式三public

利用url地址获取你需要的参数,window.location系列

此生再无相见时 提交于 2020-02-26 18:36:54
这是我要获取url中一个code的参数值所以用了如下的方法GetQueryString(name) { let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)') let r = window.location.search.substr(1).match(reg) // search,查询?后面的参数,并匹配正则 console.log("这是r:"+r[2]) return r[2]//这里返回的就是cude值}用到的知识点是下面的这些window.location获取url window.location.search   查询(参数)部分。得到的是url中?部分。除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。 substr() 返回一个从指定位置开始的指定长度的子字符串 这里设置为1,是为了把url中的?号去掉 reg是一个正则表达式子,是你获得的参数    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");   (^| )代表开始   ( |$)代表结束   以&或者$结尾的字符串   这个正则是寻找&+url参数名字=值+&   &可以不存在。 window.location.search.substr(1)

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]) 说明: