如何在不使用替换方法的情况下将字符串中的字符串与其

时间:2014-04-13 21:23:01

标签: java regex string replace

这就好了,这是什么了。我需要创建一个接受三个变量作为参数(a,b和c)的方法,并以某种方式将字符串c与字符串b交换,字符串为b。

这必须在没有替换方法的情况下完成,因为这是创建此方法的重点。

所以例子是

"Hello my friend, how are you?", "h", "y"
Result: "Yello my friend, yow are you?"

"Computer programming is great!", "great", "awesome"
Result: "Computer programming is awesome!"

我们会charAt()string.substringstring.length()string.IndexOf()来解决此问题。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

尝试使用regex

    StringBuffer myStringBuffer = new StringBuffer();

    // find all h or H
    Pattern myPattern = Pattern.compile("h|H");
    Matcher myMatcher = myPattern.matcher("Hello my friend, how are you?");
    while (myMatcher.find()) {
        // replace all the occurrence with the actual replacement
        if (myMatcher.group().equals("h")) {
            myMatcher.appendReplacement(myStringBuffer, "y");
        } else {
            myMatcher.appendReplacement(myStringBuffer, "Y");
        }
    }
    myMatcher.appendTail(myStringBuffer);
    System.out.println(myStringBuffer);

输出:

Yello my friend, yow are you?

答案 1 :(得分:0)

我认为编写确切的代码是不正确的,因为这显然是学校作业。 这是一项非常简单的任务,在阅读documentation后,您应该知道如何实现它。 如果不是继承人的暗示

You have to chceck wheter string b is substring of a if yes split a into two strings without b and put c between them.

所有这一切都可以使用您提到的方法来完成