Разделенный текст требует места, чтобы дать мне пустой элемент? - PullRequest
0 голосов
/ 19 декабря 2011

Мне действительно нужно место, чтобы получить три элемента после разделения?Или кто-то может объяснить, почему это так? (примечание: код в ruby, не знаю, как на разных языках)

test1="2011112512215| | "
test2="2011112512215||"

puts test1.split("|").length    # =3
puts test2.split("|").length    # =1

Ответы [ 2 ]

5 голосов
/ 19 декабря 2011

Нет, String # split принимает второй параметр, в котором вы можете указать предел для числа разделений.

Передача отрицательного значения заставит функцию не удалять конечные элементы длины 0.

puts "2011112512215||".split ("|", -1)        # = ["2011112512215","",""]
puts "2011112512215||".split ("|", -1).length # = 3
1 голос
/ 19 декабря 2011

Используйте отрицательное число для аргумента длины, чтобы конечные нули не подавлялись (согласно инструкции по разделению):

        text="2011112512215||"
        puts text.split("|", -1).length  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...