java字符串处理(待补充)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值