Java replace & replaceAll

Java字符串中需要对一些字符进行替换,用到最多的是replace和replaceAll两个方法。这两个方法在使用的时候需要注意:

replace:

public String replace (CharSequence target, CharSequence replacement)

Added in API level 1

Returns a copy of this string after replacing occurrences of target replaced with replacement. The string is processed from the beginning to the end.

Throws

NullPointerException
if
target or replacement is null.

从上面的注释可以看出,该方法是将替换以后的字符拷贝返回的,原字符串并没有发生改变。

时间: 2024-10-01 04:43:41

Java replace & replaceAll的相关文章

Java 利用replaceAll 替换中括号

Java的replaceAll函数默认是不能替换中括号的,例如想替换[b]到<b>,结果却就变成[<b>] 解决方案就是首先利用正则表达式替换中括号,然后再替换中括号内的内容: Java代码   infos = infos.replaceAll("[\\[\\]]",""); 不过后来又查询了下资料,发现中括号在java中居然是特殊字符,一对中括号里的内容是一组正则表达式.所以如果打算让[b]-><b>,只要如下写法: Ja

java中replaceAll反斜杠\

java中replaceAll反斜杠\ String s=new String("this is a \\"); s.replaceAll("\\","back slash"); 使用上面的代码会导致 java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^ 错误原来是因为要使用replaceAll("\\\\",&qu

使用java中replaceAll方法替换字符串中的反斜杠

今天在项目中使用java中replaceAll方法将字符串中的反斜杠("\")替换成空字符串(""),结果出现如下的异常: 1 java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \^ 上网找了一下错误的原因:在regex中"\\"表示一个"\",在java中一个"\"也要用"\\"

Java String.replaceAll() 与后向引用(backreference)

问题 昨天看到一篇博文,文中谈到一道 Java 面试题: 给定一字符串,若该字符串中间包含 "*",则删除该 "*":若该字符串首字符或尾字符为 "*",则保留该 "*". 举几个例子(箭头左边为输入,箭头右边为输出): * --> * ** --> ** **** --> ** *ab**de** --> *abde* 我觉得应该用正则表达式来处理,但想不出正则表达式该怎么写. 第一种解答 该博文的回

java replace和replaceAll

replace和replaceAll是JAVA中常用的替换字符的方法 public String replace(char oldChar, char newChar)         在字符串中用newChar字符替代oldChar字符,返回一个新的字符串 public String replaceAll(String regex,String replacement)使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串. 区别: 1)replace的参数是

Java replace 和 replaceAll

Java String 的replace 和replaceAll 都是用来替换srcString的subString,但是有些不同的是,replace的参数是字符或者字符串,而replaceAll的参数可以是正则表达式. public String replace (Char old,Char newChar) {     (oldChar != newChar) {         len = .i = -[] val = (++i < len) {             (val[i] =

JAVA String replaceAll

import java.util.HashMap;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern; public class RegexExam { public static void main(String args[]) { HashMap data = new HashMap(); String template = "尊敬的客户${customerName}你好!本次消

Java中replaceAll()方法的&quot;\&quot;问题

一.前话 看似小小的一个问题,却往往足矣让我们困惑了半小时.一小时甚至更久的时间.当你得知真相后,总是会愤怒地骂道:"居然是这样!这不是坑爹么!".嗯哼,这能怪谁?只能说明自己还太嫩!So--平时还是要多注意些细节,要不断的积累不断的丰富经验,日后才能有显摆的资本. 二.天真的以为 replaceAll()这方法太常见了,一般的字符替换都好理解.但是如果你所要替换的出现了"\"的话,那可就不大一样了.例如: str = "D:\test\test2\tes

javascript replace replaceAll

javascript的replace函数 "aaa".replace("a","A")   ---> "Aaa" // 正则表达式替换实现replaceAll效果 "aaa".replace(/a/g,"A")   ---> "AAA" $("#machine_nos").val($("#machine_nos").