Как я могу считать выполнения в последовательности?

Обычный подход должен преобразовать единственные новые строки во входе к “< br/> ”. (Двойные новые строки обычно представляли бы новый “< p> элемент ”.) Это не покрывает multiple-whitespace-runs хотя; если необходимо сохранить их, Вы могли бы заменить каждую последовательность с двумя пространствами пространством и неразрывным пространством ('' ', \xA0', или '& #160'; как символьная ссылка).

существует CSS путем, можно сохранить литеральные новые строки и пробелы, но все еще перенестись, когда длина строки слишком коротка:

white-space: pre-wrap;

Однако это значение свойства CSS 2.1 и CSS 3 не является поддерживаемым перекрестным браузером под своим настоящим именем. WebKit (Safari, Chrome) берет его; чтобы заставить это работать под другими популярными браузерами, необходимо добавить:

white-space: -moz-pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;

‘word-wrap’ для IE, который как всегда поступает по-своему выполнения вещей.

44
задан Amicable 30 April 2014 в 13:58
поделиться

2 ответа

Используйте rle () :

y <- rle(c(1,0,0,0,1,0,0,0,0,0,2,0,0))
y$lengths[y$values==0]
69
ответ дан 26 November 2019 в 22:00
поделиться

Это можно сделать в эффективном путем использования индексов изменения значений:

x <- c(1,0,0,0,1,2,1,0,0,1,1)

Найдите место изменения значений:

diffs <- x[-1L] != x[-length(x)]

Получите индексы, а затем получите разницу в последующих индексах:

idx <- c(which(diffs), length(x))
diff(c(0, idx))
23
ответ дан 26 November 2019 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: