欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Java如何替换第一个和最后一个字符串

时间:2021-12-26 10:41:27|栏目:JAVA代码|点击:

Java替换第一个和最后一个字符串

1、测试类

package com.jeff.json;
import com.alibaba.fastjson.JSONObject;
public class JsonDemo1 {
 public static void main(String[] args) {
  String ret = "\"{\"success\":true,\"msg\":\"success\",\"data\":{}}\"";
  System.out.println(ret);
  if (ret.startsWith("\"")) {
   ret = replaceFirst(ret, "\"", "");
   System.out.println("去除前引号:" + ret);
  }
  if (ret.endsWith("\"")) {
   ret = replaceLast(ret, "\"", "");
   System.out.println("去除后引号:" + ret);
  }
  JSONObject result = JSONObject.parseObject(ret);
  System.out.println(result);
 }
 private static String replaceFirst(String ret, String strToReplace, String replaceWithThis) {
  return ret.replaceFirst(strToReplace, replaceWithThis);
 }
 public static String replaceLast(String text, String strToReplace, String replaceWithThis) {
  return text.replaceFirst("(?s)" + strToReplace + "(?!.*?" + strToReplace + ")", replaceWithThis);
 }
}

2、控制台

在这里插入图片描述

java 只替换String字符串中第一次出现的某个子串

问题现象:

今天在项目中遇到一个问题:如何替换一个String字符串中第一次出现的某个子串.

问题分析:

从问题可知,这个String字符串中应该含有多个该子串,然后这些子串是错落分布在这个String父串中的.

因此如果只是想要替换第一次出现的该子串的话,其实只需要调用String的replaceFirst()方法即可;

1.s.replaceFirst("正则表达式[被替换的子串]",替换后的子串);

但是呢,有一点需要注意的,就是这个方法的第一个参数是正则表达式,所以调用该方法的小伙伴记得先复习一下正则表达式的内容:

这里提几点:

  • .匹配除换行符以外的任意字符
  • ^匹配字符串的开始
  • $匹配字符串的结束
  • *重复零次或更多次
  • +重复一次或更多次
  • ?重复零次或一次

当然了,用到正则表达式总感觉挺麻烦的,其实这里也可以用 \ 转义字符来转义从而消除正则表达式的限制.

除了替换第一次出现的子串之外,还有一些其他的替换方法:

2.s.replace("被替换的子串",替换后的子串);

s.replace()用于替换父串中所有被匹配的子串,这个方法不需要正则表达式,是很常用的字符串替换方法

3.s.replaceAll("正则表达式[被替换的子串]",替换后的子串);

s.replaceAll()这个方法和s.replace()的作用是一样的,区别在于:首参数是正则表达式.

解决方法

String s = "#y*#test*#txt";
String s1 = s.replaceFirst("\\*#", "_");
String s1_2 = s.replaceFirst(".#", "_");
String s2 = s.replace("\\*#", "_");
String s2_2 = s.replace(".#", "_");
String s3 = s.replaceAll("\\*#", "_");
String s3_2 = s.replaceAll(".#", "_");

打印结果:

s1="#y_test*#txt"

s1_2="#y_test*#txt"

s2="#y*#test*#txt"

s2_2="#y*#test*#txt"

s3="#y_test_txt"

s3_2="#y_test_txt"

上一篇:使用maven开发springboot项目时pom.xml常用配置(推荐)

栏    目:JAVA代码

下一篇:详细谈谈Java中long和double的原子性

本文标题:Java如何替换第一个和最后一个字符串

本文地址:http://www.codeinn.net/misctech/188122.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有