java把char转换成int
char a = ‘1’;
String b = String.valueOf(a);
int c = Integer.parseInt(b);
把int转为string
方法一:通过包装类来实现
String tranToStr = String.valueOf(num);
方法二:直接通过空字符串+数字的形式转换为字符串
String str= “”+num;
方法三:强制类型转换
String str= (String)num;
把String转为int
方式一:Integer(String s)
Integer i = new Integer("10");
int a = i.intValue()
方式二:static int parseInt(String s)
int b = Integer.parseInt(“20”);
int转字符转int
(char)强转
字符串截取
String a = “abcdefg”;
subString方法
a.subString(1);//得到字符串“bcdefg”; (从下标1开始到结束,返回新的字符串)
a.subString(1,5);//得到字符串“bcde”; (下标1-5,包含1不包含5的新字符串)
a.subSequence(1,3);和a.subString(1,3);一样!不过取出来的东西要做强制类型转换成String。
——来自万能百度网友
大小写码值
大写:
A → 65,B → 66,C → 67,D → 68,E → 69,
F → 70,G → 71,H → 72,I → 73,J → 74,
K → 75,L → 76,M → 77,N → 78,O → 79,
P → 80,Q → 81,R → 82,S → 83,T → 84,
U → 85,V → 86,W → 87,X → 88,Y → 89,Z → 90
小写:
a → 97,b → 98,c → 99,d → 100,e → 101,f → 102,
g → 103,h → 104,i → 105,j → 106,k → 107,l → 108,
m → 109,n → 110,o → 111,p→ 112,q → 113,r → 114,
s → 115,t → 116,u → 117,v → 118,w → 119,x → 120,y → 121,z → 122
转大小写
System.out.println(test.toUpperCase());//小写转大写
System.out.println(test.toLowerCase());//大写转小写
java 向上或向下取整Math
向上取整用Math.ceil(double a)
向下取整用Math.floor(double a)
正则表达式:Java中replace、replaceAll和replaceFirst函数的用法小结
转自 :https://www.jb51.net/article/91952.htm 杨元
首先概述一下他们三个的用法:
· replace(CharSequence target, CharSequence replacement) ,用replacement替换所有的target,两个参数都是字符串。
· replaceAll(String regex, String replacement) ,用replacement替换所有的regex匹配项,regex很明显是个正则表达式,replacement是字符串。
· replaceFirst(String regex, String replacement) ,基本和replaceAll相同,区别是只替换第一个匹配项。
接下来有个简单的需求,就是把源字符串中的a替换成\a,代码如下:
System.out.println("abac".replace("a", "\\a")); //\ab\ac
System.out.println("abac".replaceAll("a", "\\a")); //abac
System.out.println("abac".replaceFirst("a", "\\a")); //abac
replaceAll和replaceFirst要求第一个参数是正则表达式,"a"既能理解成字符串a,也可以理解成正则表达式a,所以第一个参数没问题。
问题就出在第二个参数上,如果读者仔细阅读replaceAll函数的注释,会发现有如下说明
Note that backslashes (\) and dollar signs ($) in the replacement string may cause the results to be different than if it were being treated as a literal replacement string; see Matcher.replaceAll. Use java.util.regex.Matcher.quoteReplacement to suppress the special meaning of these characters, if desired.
由于replaceAll和replaceFirst的第一个参数是正则,所以我们可以在第二个参数中做些小花样,比如有这样一个需求:把源字符串中的a替换成a后边紧邻的字符,代码如下:
System.out.println("abac".replaceAll("a(\\w)", "$1$1")); //bbcc
System.out.println("abac".replaceFirst("a(\\w)", "$1$1")); //bbac
正则的含义假设读者可以读懂,可以看出,在第二个参数中,可以用$符号获取分组的内容,本例中用$1取到了第一个分组的内容,即a后边紧邻的字符。
对于这里的 (\w) $1$1 为正则中的用法。
以下为API中解释:
预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾
1、()表示分组:将一序列正则表达式看作一个整体;
2、^表示正则开始,$表示正则结束;
3、:表示该位置的字符为冒号;
4、\w相当于a-zA-Z0-9_,匹配单词字符;
5.$1, $2 … 来引用第一个参数的括号分组的
在java里“\w+\|\d+”是什么意思?
意思是匹配所有(边界符除外),所以要对其进行转意,用.表示,然后由于编译器需要,再加个\也就是\.这样才能匹配字符串里面出现的"." 。
\w+\.的意思就是匹配任何以.接尾的字符串,由于是 w+,所以它不匹配单纯的"."。
\d+这个是由两部分组成的,\ 转义符 加\d 是一个正字表达式,标识所有数字及0-9
之所以要加\是因为在JAVA中一些特殊的符号如[回车]是没有符号代表的,所以需要转义符这个概念,而像回车这类转义符都是由\开始的,那么就出现了第二个问题,如果我要输入的恰恰是\符号怎么办,那么这个问题就还用转义符来解决,所以\的转义符就是\。
有关 .split(regex) 的用法
0, + * 不是有效的模式匹配规则表达式,用"\*" “\+“转义后即可得到正确的结果。
1、如果用“.”作为分隔的话,必须是如下写法,String.split(”\.”),这样才能正确的分隔开,不能用String.split(".");
2、如果用“|”作为分隔的话,必须是如下写法,String.split("\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如,“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split(“and|or”);
——来自:https://www.cnblogs.com/mingforyou/archive/2013/09/03/3299569.html