HiveBrain v1.2.0
Get Started
← Back to all entries
patternjavaCritical

Replace space with %20

Submitted by: @import:stackexchange-codereview··
0
Viewed 0 times
withspacereplace

Problem

This is not very memory-efficient. Can you please suggest a better way or improvement?

public class Test{

    public static void main(String[] args) {
        System.out.println(replaceSpace("All men must die"));
    }

    public static String replaceSpace(String s) {
        String[] stringArray = s.split(" ");
        StringBuffer sb = new StringBuffer();
        for(String s3 : stringArray) {
            sb.append(s3);
            sb.append("%20");
        }
        // if the last character is not space then, don't append %20.
        if(s.charAt(s.length()-1) != ' ') {
            return sb.substring(0, sb.length()-3).toString();
        }

        return sb.toString();
    }
}

Solution

Don't do this yourself. Instead use java.net.URLEncoder or another library implementation of url encoding. You'll also get support for other characters as well besides space.

Context

StackExchange Code Review Q#120385, answer score: 55

Revisions (0)

No revisions yet.