gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Java如何替换第一个和最后一个字符串由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

1、测试类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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如何替换第一个和最后一个字符串

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

问题现象:

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

问题分析:

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

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

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

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

这里提几点:

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

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

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

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

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

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

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

解决方法 。

?
1
2
3
4
5
6
7
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" 。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/weixin_45739720/article/details/103984908 。

最后此篇关于Java如何替换第一个和最后一个字符串的文章就讲到这里了,如果你想了解更多关于Java如何替换第一个和最后一个字符串的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com