精华内容
下载资源
问答
  • Java替换字符串前后的指定字符(类似于String的trim()方法)想到了替换字符串或者正则表达式,但是没想到怎么实现!看来平常得多看看源码!!!2种实现方法,第一种简单但不效率低,不推荐;第二种参考JDK的方法实现...

    Java替换字符串前后的指定字符(类似于String的trim()方法)

    想到了替换字符串或者正则表达式,但是没想到怎么实现!

    看来平常得多看看源码!!!

    2种实现方法,第一种简单但不效率低,不推荐;第二种参考JDK的方法实现,高效,推荐。实现方法如下:

    方法1:

    用JDK自带的trim方法加replace方法:

    String str = "+++hello world+-,nihao!++++";
    //传字符
    System.out.println(str.replace('+',' ').trim().replace(' ', '+'));
    //或传字符串
    //System.out.println(str.replace("+"," ").trim().replace(" ", "+"));

    方法2:

    JDK自带的trim方法:

    public String trim() {
            int len = value.length;
            int st = 0;
            char[] val = value;
    
            while ((st < len) && (val[st] <= ' ')) {
                st++;
            }
            while ((st < len) && (val[len - 1] <= ' ')) {
                len--;
            }
            return ((st > 0) || (len < value.length)) ? substring(st, len) : this;
        }

    参考上面JDK自带的trim方法,实现如下:

    public static String custom_trim(String str, char c) {
            char[] chars = str.toCharArray();
            int len = chars.length;
            int st = 0;
            while ( (st < len) && (chars[st] == c) ){
                st ++;
            }
            while ( (st < len) && (chars[len-1] == c) ){
                len --;
            }
    
            return (st >0) && (len<chars.length)? str.substring(st, len): str;
    
        }

    扩展:

    JDK(1.7)的String类中没有ltrim()和rtrim()方法,现在实现如下:

        public static String custom_ltrim(String str, char c) {
            char[] chars = str.toCharArray();
            int len = chars.length;
            int st = 0;
            while ( (st < len) && (chars[st] == c) ){
                st ++;
            }
            return (st >0)? str.substring(st, len): str;
        }
    
        public static String custom_rtrim(String str, char c) {
            char[] chars = str.toCharArray();
            int len = chars.length;
            int st = 0;
            while ( (st < len) && (chars[len-1] == c) ){
                len --;
            }
            return (len<chars.length)? str.substring(st, len): str;
        }

    完整实例如下:

    /**
     * 自定义字符串修剪方法
     * Created by ylchou@foxmail.com on 18/3/10.
     */
    public class TrimDemo {
        public static void main(String[] args) {
            String str = "+++hello world+-,nihao!++++";
            System.out.println(str.replace('+',' ').trim().replace(' ', '+'));//hello+world+-,nihao!
            System.out.println(str.replace("+"," ").trim().replace(" ", "+"));//hello+world+-,nihao!
            System.out.println(custom_trim(str, '+'));//hello world+-,nihao!
            System.out.println(custom_ltrim(str, '+'));//hello world+-,nihao!++++
            System.out.println(custom_rtrim(str, '+'));//+++hello world+-,nihao!
        }
    
        /**
         * 去掉指定字符串前面和后面指定的字符
         * @param str
         * @param c
         * @return
         */
        public static String custom_trim(String str, char c) {
            char[] chars = str.toCharArray();
            int len = chars.length;
            int st = 0;
            while ( (st < len) && (chars[st] == c) ){
                st ++;
            }
            while ( (st < len) && (chars[len-1] == c) ){
                len --;
            }
            return (st >0) && (len<chars.length)? str.substring(st, len): str;
        }
    
        /**
         * 去掉指定字符串前面指定的字符
         * @param str
         * @param c
         * @return
         */
        public static String custom_ltrim(String str, char c) {
            char[] chars = str.toCharArray();
            int len = chars.length;
            int st = 0;
            while ( (st < len) && (chars[st] == c) ){
                st ++;
            }
            return (st >0)? str.substring(st, len): str;
        }
    
        /**
         * 去掉指定字符串后面指定的字符
         * @param str
         * @param c
         * @return
         */
        public static String custom_rtrim(String str, char c) {
            char[] chars = str.toCharArray();
            int len = chars.length;
            int st = 0;
            while ( (st < len) && (chars[len-1] == c) ){
                len --;
            }
            return (len<chars.length)? str.substring(st, len): str;
        }
    }
    
    展开全文
  • java替换指定字符串

    千次阅读 2019-03-26 19:47:51
    import java.util.Scanner; public class Demo003{ public static void main(String[] args) {Scanner input=new...System.out.println("请输入一个字符和字符串:");String str2=input.next();//输入一个字符 Stri...

    import java.util.Scanner;

    public class Demo003{
    public static void main(String[] args) {
    Scanner input=new Scanner(System.in);
    System.out.println("请输入一个字符和字符串:");
    String str2=input.next();//输入一个字符
    String str1=input.next();//输入一个字符串
    String newStr =str1.replace(str2,"");//替换字符串中的字符为空

    System.out.println("输出字符为:"+newStr);
    }
    }

    展开全文
  • //在哪里替换,i就等于多少,在首位也一样 str1=str1.substring(0, i)+"5"+str1.substring(i+1); System.out.println(str1); } public static void main(String[] args){ String str1="abcdefghijk
    public static void main(String[] args){
    	 String str1="abcdefghijkl";
    	 int i=5;   //在哪里替换,i就等于多少,在首位也一样
    	 str1=str1.substring(0, i)+"5"+str1.substring(i+1);
    	 System.out.println(str1);
     }
    

    在这里插入图片描述

    public static void main(String[] args){
    	String str1="abcdefghijkl";
    	int i=0;
    	char c='0';  //用char类型替换也可以
    	str1=str1.substring(0, i)+c+str1.substring(i+1);
    	System.out.println(str1);
    }
    

    在这里插入图片描述

    展开全文
  • C++ string 替换指定字符

    万次阅读 多人点赞 2018-09-08 19:00:26
    C++的string提供了replace方法来实现字符串替换,但是有时候我们想要实现类似JAVA中的替换功能——将string中的某个字符a全部替换成新的字符b,这个功能在提供的replace方法中并没有实现。 不过只要再深入了解...

    C++的string提供了replace方法来实现字符串的替换,但是有时候我们想要实现类似JAVA中的替换功能——将string中的某个字符a全部替换成新的字符b,这个功能在提供的replace方法中并没有实现。

    不过只要再深入了解一下STL,就可以在变易算法中找到解决方案——使用#include<algorithm>中的replace算法即可。

    测试代码如下:

    #include<algorithm>
    #include<string>
    #include<iostream>
    
    using namespace std;
    int main()
    {
        string str="123/421657/abcd///456789";
    
        cout << str << endl;
        replace(str.begin(),str.end(),'/',' ');
        cout << str << endl;
        return 0;
    }
    

     

    运行结果如下:

    可以看到,只要就实现了指定字符的替换。

    需要注意的是,该方法只能将一个字符替换成另一个字符,即只能对单个字符进行操作。

    展开全文
  • C++的string提供了replace方法来实现字符串替换,但是有时候我们想要实现类似JAVA中的替换功能——将string中的某个字符a全部替换成新的字符b,这个功能在提供的replace方法中并没有实现。 不过只要再深入了解一下...
  • java string 字符串替换

    万次阅读 2018-01-09 11:08:14
     该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。例如:  String s = “abcat”;  String s1 = s.replace(‘a’,‘1’...
  • 字符串替换指定字符String str = "Test string"; StringBuilder strBuilder = new StringBuilder(str); strBuilder.setCharAt(1, 'X'); str=Builder.toString(); String不可变 StringBuilder可变判定字符的种类 ...
  • 如何在既定的字符串数据中匹配替换指定字符串? 解决办法: 大致处理步骤如下: 1. 首先判断要处理的字符串是否在既定的字符串数据中出现? 可以用String.contains(String str)实现; 2. 然后Codding要如何...
  • java String字符串替换

    2015-10-27 15:48:35
     该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。例如:  String s = “abcat”;  String s1 = s.replace(‘a’,‘1’); ...
  • /** * 替换指定字符串 * @param index要替换字符串的位置 * @param res原字符串 * @param str替换字符串 * @return */ public static String replaceIndex(int index,String res,String str){ return res....
  • 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 拿到题觉得这不是小儿科嘛 然后发现还是得写几行代码,一个函数 解决不了...
  • Java替换字符串中所有指定字符

    千次阅读 2019-12-23 10:11:06
    使用Java的replaceAll(String regex, String replacement)函数可替换字符串中所有指定字符。 regex是一个正则表达式,replacement是字符串。用replacement替换所有的regex匹配项。 String str = "{\\\"aaa\\\":\\...
  •  该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。例如:  String s = “abcat”;  String s1 = s.replace(‘a’,‘1’); ...
  • Java替换字符串指定位置的字符串

    千次阅读 2019-10-09 12:46:45
    Java替换字符串指定位置的字符串 利用StringBuilder: String str1="123456789你好.jpj"; StringBuilder sb=new StringBuilder(str1); sb.replace(str1.length()-6, str1.length()-4, "nihao"); String str2=...
  • java替换指定位置的指定字符串

    千次阅读 2018-10-25 16:11:05
    string里面并没有这种方法,StringBuilder中有此类方法,替换过后,再次转换回string类型就可以了。 int path = 100; StringBuilder result1 = new StringBuilder(result); result1 = result1.replace(path,path+...
  • # Java如何用正则表达式替换字符串 指定区间的 指定字符 例如:有一个字符串 AAA这是一个号问题<好问>题BBB AAA你也许>需要思考<思考<思考BBB" 规则是:**AAA~BBB中的 "替换成"<",">"替换成">"** ...
  • import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class answer { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc....

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 375
精华内容 150
关键字:

javastring替换指定字符串

java 订阅