Вставьте между буквами строки

2

Я должен разбить его и поставить %20 между цифрами

var code="247834"

в

2%204%207%208%203%204

выглядит просто, но я не могу его преобразовать.
любой ответ в scala или java оценивается.

  • 6
    Сначала выберите язык и попробуйте. Во-вторых , спросите здесь.
  • 0
    @hexafraction извините, что не показывал мою попытку. и для языка я должен сделать это в Scala, но я думал, что я буду конвертировать его в Scala
Показать ещё 8 комментариев
Теги:

4 ответа

7
Лучший ответ

В Scala,

code.mkString("%20")
  • 0
    Не эксперт по Scala, но вам не нужен ToList или ToCharArray там?
  • 2
    @vogomatix Хороший вопрос, неявные преобразования в Scala, см. docs.scala-lang.org/overviews/collections/strings.html
4

На любом языке ваша общая техника должна состоять в том, чтобы разбить строку на массив и затем соединить ее со строкой " %20". В PHP это было бы

$array = str_split( $code);
$result = join( '%20', $array);

В Javascript:

var code="247834";
var myArray = code.split();
var result = myArray.join( '%20');

В одном заявлении:

var result = code.split().join('%20'); 
// or "247834".split().join('%20');

Ява??:

char[] myArray = "247844".toCharArray();
char[] result = StringUtils.join( myArray, '%20');

(последние могут нуждаться в незначительных изменениях, например, метод соединения находится в TextUtils для Android и свопирует порядок параметров)

1

В Javascript

var code = "247834";
var output = '';

for (var i = 0; i < code.length; ++i)
{
    output = output + code.charAt(i) + ((i < code.length - 1) ? '%20' : '');

}

alert(output);

http://jsfiddle.net/sNrU7/1/

0

Решение Java

Начиная с конца, вы можете вставить разделитель, используя строковый буфер. Это самое простое решение и может быть не самым быстрым.

Вывод

2%204%207%208%203%204  
2-4-7-8-3-4

Код

import java.lang.StringBuffer;

public class Test {
    public static void main(String[] args) {
        String str = "247834";
        System.out.println(separate(str, "%20"));
        System.out.println(separate(str, "-"));
    }

    public static String separate(String str, String delim) {
        StringBuffer buff = new StringBuffer(str);

        for (int i = str.length(); i > 0 ; i--) {
            if (i < str.length()) {
                buff.insert(i, delim);
            }
        }

        return buff.toString();
    }
}
  • 1
    Не самый простой, так как методы для этого уже существуют.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню