字符串

common-lang和beanutil

老子叫甜甜 提交于 2019-12-07 01:45:53
俗话说工欲善其事必先利其器,好的工具类可以节省我们额外早轮子的时间。 有时候为了优化性能,对字符串的处理尽量避免正则表达式的使用,可以考虑commons-lang,主要是针对string操作的工具类。 版本:commons-lang3-3.1.jar Apache Commons包估计是Java中使用最广发的工具包了,很多框架都依赖于这组工具包中的一部分,它提供了我们常用的一些编程需要,但是JDK没能提供的机能,最大化的减少重复代码的编写。 1、字符串的空判断 //isEmpty System.out.println(StringUtils.isEmpty(null)); // true System.out.println(StringUtils.isEmpty("")); // true System.out.println(StringUtils.isEmpty(" ")); // false System.out.println(StringUtils.isEmpty("bob")); // false System.out.println(StringUtils.isEmpty(" bob ")); // false //isBlank System.out.println(StringUtils.isBlank(null)); // true System.out

PHP中substr() mb_substr() mb_struct()的区别和用法及Smar...

孤人 提交于 2019-12-06 12:38:49
PHP substr(),mb_substr()及mb_strcut的区别和用法及Smarty模板中的truncate调节器浅谈 PHP substr() 函数可以 分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函 数,mb_substr() /mb_strcut的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个 参数,以设定字符串的编码,但是 一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll 打开。 举个例子: <?php echo mb_substr('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8'); ?> 输出:这样一来我的字 <?php echo mb_strcut('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8'); ?> 输出:这样一 从上面的例子可以看出,mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象…… mbstring 函数的说明: php的mbstring扩展模块提供了多字节字符的处理能力,平常最常用的就是用mbstring来切分多字节的中文字符,这样可以避免出现半个字符的情况

深入解析String#intern

核能气质少年 提交于 2019-12-06 02:12:38
引言 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。 8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种: 直接使用双引号声明出来的String对象会直接存储在常量池中。 如果不是用双引号声明的String对象,可以使用String提供的intern方法。intern 方法会从字符串常量池中查询当前字符串是否存在,若不存在就会将当前字符串放入常量池中 接下来我们主要来谈一下String#intern方法。 intern的实现原理 首先深入看一下它的实现原理。 1.JAVA 代码 /** * Returns a canonical representation for the string object. * <p> * A pool of strings, initially empty, is maintained privately by the * class <code>String</code>. * <p> * When the intern method is invoked, if the pool already contains a * string equal to this

从给定字符串中截取n个字节的字符(解决汉字截取乱码问题)

半腔热情 提交于 2019-12-05 18:34:30
function GetNBytesChar(s: Ansistring; n: Integer): string; var aStr: AnsiString; bStr: WideString; begin aStr := Copy(s, 1, n); bStr := aStr; if aStr = bStr then Result := astr else Result := Copy(s, 1, n-1); end; 来源: oschina 链接: https://my.oschina.net/u/582827/blog/544487

【LeetCode】387 First Unique Character in a String(java实现)

白昼怎懂夜的黑 提交于 2019-12-05 04:08:22
原题 Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1. Examples: s = "leetcode" return 0. s = "loveleetcode", return 2. Note: You may assume the string contain only lowercase letters. 题目要求 题目的意思是找出字符串中第一个不重复的字母,字符串中,如果存在该这样的字符,则返回字符在字符串中的索引值,如果不存在,则 返回-1 。注意:假设字符串中只有小写字母,这稍微简化了一下题目。 难度:Eazy 解法 解法:现在只要一看到字母,首先想到的解法就是一个26个元素的数组,索引表示字母,索引对应的值即出现的字数。对字符串进行两次遍历,第一次算出每个字符出现的次数,第二次遍历找出第一个字符即可。 public int firstUniqChar(String s) { int pos = -1; int []bits = new int[26]; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); ++bits[c

Android缓存字符串,对象等其他数据

半腔热情 提交于 2019-12-04 23:47:26
ACache是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。 ‍ ‍ 1、它可以缓存什么东西? ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ 普通的字符串、json、序列化的java对象,和 字节数字。 ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ 2、它有什么特色? 特色主要是: 1:轻,轻到只有一个JAVA文件。 2:可配置,可以配置缓存路径,缓存大小,缓存数量等。 3:可以设置缓存超时时间,缓存超时自动失效,并被删除。 4:多进程的支持。 下面附上完整代码: public class ACache { public static final int TIME_HOUR = 60 * 60; public static final int TIME_DAY = TIME_HOUR * 24; private static final int MAX_SIZE = 1000 * 1000 * 50; // 50 mb private static final int MAX_COUNT = Integer.MAX_VALUE; // 不限制存放数据的数量 private static Map<String, ACache> mInstanceMap = new HashMap<String, ACache>();

Java代码:将Long类型的日期时间数据转换为指定格式字符串

谁说我不能喝 提交于 2019-12-04 21:52:15
今天遇到了这样一个场景:从数据库中取出的数据,日期信息(年月日)是以8位Long类型数字存放的(如20161116),时间信息(时分秒)是以6位Long类型数字存放的(如184253)。现需要将其转换为字符串,格式使用“yyyy-MM-dd HH:mm:ss”。 我写的工具类代码如下: import java.text.MessageFormat; public class DateTimeHelper { /** * 将8位数字转换为字符串yyyy-MM-dd * @param date * @return */ public static String getDateString(Long date) { int year = 0; int month = 1; int day = 1; if (date != null) { int date_tmp = date.intValue(); int year_tmp = date_tmp / 10000; int month_tmp = date_tmp % 10000 / 100; int day_tmp = date_tmp % 100; year = getValue(year_tmp, year, 0, 9999); month = getValue(month_tmp, month, 1, 12); switch

php---------正则判断字符串中是否由汉字 数字 英文字母组成

本小妞迷上赌 提交于 2019-12-03 11:55:28
开发中常常用到正则表达式,分享两个常用的正则表达式,php检查字符串是否由汉字,数字,英文字母,下划线组成, 注意这里只是针对utf-8字符集的字符串检查。 数字 汉字 英文字母: if (!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9]+$/u", $str)) { echo "<font color=red>您输入的[" . $str . "]含有违法字符</font>"; } 数字 汉字 英文字母 下划线: if (!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u", $str)) { echo "<font color=red>您输入的[" . $str . "]含有违法字符</font>"; } 来源: oschina 链接: https://my.oschina.net/u/2945455/blog/1607018

字符串处理函数

≯℡__Kan透↙ 提交于 2019-12-03 04:45:08
C语言中字符串处理函数介绍 下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数)。所有的C语言编译系统中一般都提供这些函数。 1、 puts函数 ——输出字符串的函数 一般的形式为puts(字符串组) 作用:将一个字符串输出到终端。如,char一个string,并赋予初值。调用puts(string);进行字符串的输出。 2、 gets函数 ——输入字符串的函数 一般的形式:gets(字符数组) 作用:从终端输入一个字符串到字符数组,并且得到一个函数值成为字符数组的起始地址。 gets(str); 键盘输入,,,,你懂得。 注意:puts和gets函数只能输出或者输入一个字符串。 3、 strcat函数 ——字符串连接函数 一般的形式:strcat(字符数组1,字符数组2); 作用:把两个字符串数组中字符串连接起来,把字符串2连接到字符串1的后面。 说明:字符数组1必须足够大,以便容纳连接后的新字符串。 4、 strcpy/strncpy函数 ——字符串复制函数 一般形式:strcpy(字符数组1,字符串2); 作用:将字符串2复制到字符数组1中去。 如:char str1[10],str2[]="DongTeng"; strcpy(str1,str2); 执行后的结果为:你懂得 注意:1.不能用赋值语句直接将一个字符串常量或者字符数组直接给一个字符数组。 2

C#连接本地和远程数据库SQL和Access的字符串

喜夏-厌秋 提交于 2019-12-02 10:19:35
c#数据库连接关键在于连接字符串,这是数据库开发中最重要的,如果数据库连接不上,其它的一切对 数数库的操作都不能进行。 1) c# 本地连接数据库 ACCESS string source = @" Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = D:\c#\connDB\school.mdb"; 2) c# 远程连接数据库 ACESS 远程连接 access 数据库的几个方法: 1.建立 VPN(Virtual Private Network) ,然后把服务器中 mdb 文件所在的 Folder 共享即可。 ADO 连接方法如下: “ Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\ 服务器名 \\ 文件夹 \\mydata.mdb;Jet OLEDB:Database Password=datapass;Persist Security Info=False ” 2.把数据库放在 Web 服务器上,使 ADO 或 RDO 通过 RDS ( Remote Data Service )及 IIS 来实现: 如果服务器设置了 ODBC DSN 的话,连接方法如下: "Provider=MS Remote;Remote Server=http:// 服务器名 ;Remote