java中replaceAll,如何将特殊字符显示出来

java中replaceAll,如何将特殊字符显示出来,第1张

1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "")把一个字符串所有的数字字符都换成星号;
相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串;
另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的 *** 作;
还有一点注意:执行了替换 *** 作后,源字符串的内容是没有发生改变的
举例如下:

String src = new String("ab43a2c43d");
Systemoutprintln(srcreplace("3","f"));=>ab4f2c4fd
Systemoutprintln(srcreplace('3','f'));=>ab4f2c4fd
Systemoutprintln(srcreplaceAll("\\d","f"));=>abffafcffd
Systemoutprintln(srcreplaceAll("a","f"));=>fb43fc23d
Systemoutprintln(srcreplaceFirst("\\d,"f"));=>abf32c43d
Systemoutprintln(srcreplaceFirst("4","h"));=>abh32c43d
如何将字符串中的"\"替换成"\\":
String msgIn;
String msgOut;
msgOut=msgInreplaceAll("\\\\","\\\\\\\\");
原因:
'\'在java中是一个转义字符,所以需要用两个代表一个。例如Systemoutprintln( "\\" ) ;只打印出一个"\"。但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式转换成\。
同样
CODE: \\\\\\\\
Java: \\\\
Regex: \\
将字符串中的'/'替换成'\'的几种方式:
msgOut= msgInreplaceAll("/", "\\\\");
msgOut= msgInreplace("/", "\\");
msgOut= msgInreplace('/', '\\');

1、>>:右移运算符,num >> 1,相当于num除以2。

按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。符号位不变。

如:

-1在32位二进制中表示为:

11111111 11111111 11111111 11111111

-1>>1:按位右移,符号位不变,仍旧得到
11111111 11111111 11111111 11111111

因此值仍为-1

2、>>>:二进制右移补零 *** 作符,左 *** 作数的值按右 *** 作数指定的位数右移,移动得到的空位以零填充

如value >>> num中,num指定要移位值value 移动的位数。

扩展资料

“>>”和“>>>”等移位运算符的运算规则:

1、无符号右移,忽略符号位,空位都以0补齐。

value >>>a,a是要移位值value 移动的位数。

无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位  无符号右移运算符>>> 只是对32位和64位的值有意义。

2、右移位运算符>>,若 *** 作的值为正,则在高位插入0;若值为负,则在高位插入1。

右移补零 *** 作符>>>,无论正负,都在高位插入0。

参考资料来源:百度百科——位运算符

JAVA的基本类型有:
byte、short、int、long、float、double、boolean、char,
而byte、short、int、long、float、double表示基本数值所表示的范围有正有负。而boolean只有两个取值true或false,char表示8位的ASCII码没有符号。

特殊字符的表示方法::

1、\t 空格 ('\u0009')

2、\n 换行 ('\u000A')

3、\\ 反斜杠

4、\r 回车 ('\u000D')

5、\d 数字等价于[0-9]

6、\D 非数字等价于[^0-9]

7、\s 空白符号 [\t\n\x0B\f\r]

8、\S 非空白符号 [^\t\n\x0B\f\r]

9、\w 单独字符 [a-zA-Z_0-9]

10、\W 非单独字符 [^a-zA-Z_0-9]

11、\f 换页符

12、\e Escape

扩展资料:

Java

1、Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

2、Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

参考资料来源:百度百科-Java

for(Shape shp : s)
shpdraw();
shpp();//超出了for语句范围,shp当然是找不到了~~
上面这段代码中的第三行超出了局部变量作用域了,请改成:
for(Shape shp : s) {
shpdraw();
shpp();
}
如果没有花括号,那么for循环只能跟一个语句块!

package zhidao;
import javautilregexMatcher;
import javautilregexPattern;
public class Cow
{
public static void main ( String[] args )
{
String str = "<b>8</b><em>99<em>";
String reg = "\\>([^\\>]+)\\<";
Pattern pattern = Patterncompile (reg);
Matcher matcher = patternmatcher (str);
while (matcherfind ())
{
Systemoutprintln (matchergroup ()replaceAll (reg, "$1"));
}
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12975551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存