String::split
Я не знаю, как сказать «взять все до табуляции и сохранить его под именем переменной» и «перевести все с табуляции в новую строку и сохранить его в переменной URL» ».
blockquote>Используйте метод
String::split
, чтобы нарезать строку на меньшие строки. Укажите разделитель ( TAB ), используемый между полями в каждой строке. Вы получаете обратно массивString
объектов, по одному на каждое поле строки.String[] fields = line.split( "\t" ) ; // Chop string into smaller strings. String name = fields[ 0 ] ; // Annoying zero-based index counting. String url = fields[ 1 ] ;
Вы должны добавить код, чтобы убедиться, что вы получили ожидаемое количество полей в размере массива.
Подсказка: Используйте библиотеку для рутинной работы по чтению и записи ваших файлов с разделителями табуляции . Для этой работы я использую библиотеку Apache Commons CSV . Он работает с различными форматами CSV , а также с разделителями табуляции. Переполнение стека поиска для примеров, таких как тот, который я опубликовал вчера. В этом примере кода измените
CSVFormat.RFC4180
наCSVFormat.TDF
для формата с разделителями табуляции.
С учетом приведенных требований нет, вы не можете использовать document.write, не потеряв документ , Если вы действительно не хотите менять код, вы можете переопределить функциональность document.write (), например, так, чтобы позже получить результат:
var phbRequirement = "";
$(function() {
document.write = function(evil) {
phbRequirement += evil;
}
document.write("Haha, you can't change my code!");
$('body').append(phbRequirement);
});
Убедитесь, что вы перезаписали функцию document.write перед ее использованием. Вы можете сделать это в любое время.
Другие ответы скучны, это весело, но в значительной степени делает это неправильно ради выполнения данных требований.
У Пикардо есть подход, который я бы использовал. Чтобы расширить концепцию, прочитайте:
$('<script/>')
.attr('src', 'http://myurl.com/page.aspx?id=1')
.appendTo('body');
Альтернативный стиль:
var imgnode = $('<img alt="Second image for id 1"/>')
.attr('src', "image1.jpg");
$('#id1').append(imgnode);
Обязательно используйте метод attr
для установки любых динамических атрибутов. Не нужно экранировать специальные символы таким образом.
Кроме того, я не уверен, какова эффективность динамической генерации тегов скрипта; Я никогда не пробовал это. Однако ожидается, что они содержат или ссылаются на сценарий на стороне клиента. Я предполагаю, что вернется page.aspx
. Ваш вопрос немного расплывчат в отношении того, что вы пытаетесь сделать там.
В jQuery есть готовый заменитель document.write. Все, что вам нужно использовать, это метод добавления.
jQuery('<img src=""/>').appendTo('body');
Это довольно очевидно. Но вкратце, вы можете заменить любой HTML, который вы хотите. И имя тега в методе appendTo - это имя тега, к которому вы хотите добавить свой HTML. Вот и все.
ответ Пикардо работает, но для меня это более интуитивно понятно:
$("body").append('<img src=\"/image/1.jpg\" alt=\"Second image for id 1\">');
Кроме того, для части скрипта, которая вставляется с document.write (), ознакомьтесь с Функция getScript () jQuery