「java字符串替换第二位」字符串中间几位替换

博主:adminadmin 2022-12-20 01:51:07 64

今天给各位分享java字符串替换第二位的知识,其中也会对字符串中间几位替换进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 字符串替换

import java.util.HashMap;

import java.util.Map;

import java.util.Map.Entry;

public class Demo {

    public static void main(String[] args) {

        print("/user/{method}/{userid}.jsp", "/user/update/123.jsp");

    }

    private static void print(String text, String text2) {

        MapString, String map = findMap(text, text2);

        for (EntryString, String entry : map.entrySet()) {

            System.out.println(entry.getKey() + " : " + entry.getValue());

        }

    }

    public static MapString, String findMap(String text, String text2) {

        MapString, String map = new HashMap();

        String[] split = text.split("/");

        String[] split2 = text2.split("/");

        if (split.length != split2.length) {

            return null;

        }

        for (int i = 0; i  split.length; i++) {

            if (!split[i].equals(split2[i])) {

                removePrefix(split, split2, i);

                removeSuffix(split, split2, i);

                if (split[i].matches("\\{.*\\}")){

                    split[i] = split[i].substring(1, split[i].length() - 1);

                    map.put(split[i], split2[i]);

                }

            }

        }

        return map;

    }

    private static void removePrefix(String[] arr, String[] arr2, int i) {

        for (int j = 1; j  arr[i].length(); j++) {

            if (!arr2[i].startsWith(arr[i].substring(0, j))) {

                arr[i] = arr[i].substring(j - 1);

                arr2[i] = arr2[i].substring(j - 1);

                break;

            }

        }

    }

    private static void removeSuffix(String[] arr, String[] arr2, int i) {

        for (int j = arr[i].length(); j  0; j--) {

            if (!arr2[i].endsWith(arr[i].substring(j))) {

                int length = arr2[i].length() - arr[i].length();

                arr[i] = arr[i].substring(0, j + 1);

                arr2[i] = arr2[i].substring(0, j + 1 + length);

                break;

            }

        }

    }

}

//程序输出

userid : 123

method : update

程序思路:

先按照/把字符串分成几分,然后找到不一致的,掐头去尾,就得到结果了。

java替换字符串倒数第二个字符为空

给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。

输入格式:

输入在一行中给出两个正整数 L(2 ≤ L ≤ 6)和 N(≤105)。

输出格式:

在一行中输出对应序列倒数第 N 个字符串。题目保证这个字符串是存在的。

输入样例:

3 7417

1.

输出样例:

pat

1.

上代码!!!

#includestdio.h

#includemath.h

int main()

{/*

我们可以把a-z看成26进制,0表示a,25表示z。(类比,2进制每一位最多为1,16进制每位最多到15)

L位,那么可以表示26^L个数。(类比,3位2进制,可以表示0到7,一共8个数)

那么L位能表示0-26^L-1,求倒数第n个数,也就是求数字26^L-1-n+1=26^L-n

(26^L-n是第26^L-n+1个数字)

令p=26^L-n,然后把10进制转为26进制就行(就是不断%26,/26)(0代表a,25代表z)

然后输出结果,有可能位数L很大,所以在不够L的位上补'a'

*/

int L,N,y; //L控制多少个字母组成 N控制输出倒数第N个

int i,x; // i控制循环次数 x

scanf("%d",L);

scanf("%d",N);

N=N-1;

for(i=1;i=L;i++)

{

y=N/(pow(26,L-i)); //pow(2,3) 即2的3次方 这里是26的L-i次方

printf("%c",'z'-y);

x=pow(26,L-i);

N=N%x;

}

return 0;

}

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

31.

32.

33.

34.

35.

36.

37.

38.

39.

40.

41.

42.

43.

Java 字符串中的替换。比如I*you替换*为Love

给你一个静态方法

public static String tihuan(String str1,String str2,String str3){//A换B

if(str1.equals(str1.replace(str2, str3))){//如果str1不变则str2不存在

System.out.println(str2+"不存在无法替换!");

return null;

}

return str1.replace(str2, str3);

}

str1为主字串  str2要被替换掉的字串  str3用来替换str2的字串

java中怎么进行字符串替换?

使用replace方法

该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串,例如:

String s = “abcat”;

String s1 = s.replace(‘a’,‘1’);

该代码的作用是将字符串s中所有的字符a替换成字符1,生成的新字符串s1的值是“1bc1t”,而字符串s的内容不发生改变。如果需要将字符串中某个指定的字符串替换为其它字符串,则可以使用replaceAll方法,例如:

String s = “abatbac”;

String s1 = s.replaceAll(“ba”,“12”);

该代码的作用是将字符串s中所有的字符串“ab”替换为“12”,生成新的字符串“a12t12c”,而字符串s的内容也不发生改变。

字符串在存储上类似字符数组

它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:

长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

Java怎么使用replace替换字符串中的某一位的字符

实现思路:先获取到特定位置的字符,之后直接替换即可

public class strRepalce {

public static void main(String[]args){

//要替换的一个字符串

String str="abcmdf";

//获取指定字符位置 例如取 替换c字符

int i=str.indexOf("c");

//str.charAt(i) 取出指定字符(char类型 无法直接转string) String.valueOf 转换成string类型

String str2=String.valueOf(str.charAt(i));

//X为指定替换字符

str=str.replaceFirst(str2,"X");

System.out.println(str);

}

}

java字符串替换第二位的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于字符串中间几位替换、java字符串替换第二位的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-20,除非注明,否则均为首码项目网原创文章,转载请注明出处。