Как разделить, используя разделитель, сохраненный в переменной

Как следует из комментариев, вы используете более старую версию Xamarin.Forms. Вам следует обновить ваши пакеты как минимум до версии 3.4, которая является версией, которую представил элемент управления ImageButton.

Версия Prism в данном случае не имеет значения.

1
задан 17.01.2019, 23:21

5 ответов

В python строковый объект - это все, что находится в пределах single-quote или single-quote, или что-то внутри двух из этого """ или этого '''. Метод split ожидал, что строковый объект будет его параметром

string.split(s[, sep[, maxsplit]]) 

Ссылка на документ

То, что вы передали, это '"\t"' "\t" строка.

Возможно, вы были сбиты с толку, когда дело дошло до кавычек, но вам поможет понимание того, что метод ожидает в качестве аргумента (чтение справки по документам) и понимание документации по питону. В основном, читайте документы.

TL; DR
Использовать

a = '\t' #if you wanted to use TAB as the delimiter
#Remember it's expecting a string obj
0
ответ дан 08.04.2019, 08:39
  • 1
    Хорошо, это звучит разумным. Спасибо! – mirix 25.01.2019, 00:20
    my_line='No suggested  \tjump to results Extension \tfor detecting mobile devices, managing   mobile view'
    a='\t'
    print(my_line.split(a))

**RESULT:**  ['No suggested  ', 'jump to results Extension ', 'for detecting mobile devices, managing   mobile view']

Вы также можете использовать a = "\ t" или a = '\ t' вместо комбинации

0
ответ дан 08.04.2019, 08:39
  • 1
    Извините. Не уверенный, если я мог бы быть большим количеством справки, но я скажу, что Вы могли попытаться делать " on" часть Вашей прозрачной маски, " off" черная часть, или что-то и помещенный их рис. позади него. – Chipster 30.01.2019, 03:45

@DoubleDecker Привет, в твоей строке кода у тебя есть a='"\t"'. Если вы сделаете a или a="\t" или a='\t', тогда ваш код будет работать нормально. Написание a='"\t"' не совпадает с двумя выше.

>>> a = '"\t"'
>>> a
'"\t"'
>>> b = "\t"
>>> b
"\t"
>>> c = '\t'
>>> c
'\t'
>>> a == b
False
>>> a == c
False

Надеюсь, это поможет.

0
ответ дан 08.04.2019, 08:39
  • 1
    Хороший. Но этот вариант выглядит более скучным, чем исходная версия. – αλεχολυτ 25.01.2019, 00:11

У вас, кажется, есть лишние кавычки в вашем разделителе. split принимает эти дополнительные ' также как часть вашего разделителя, вызывающего проблемы. split заканчивает поиск '\t' вместо \t, как вы ожидаете.

a="'\t'"

должно быть

a="\t"
0
ответ дан 08.04.2019, 08:39
  • 1
    так читает мой исправленный ответ - и анализируют код – P__J__ 25.01.2019, 00:12

Это потому, что вы делаете разделитель длиной 3 символа ' + \t + ' вместо одного \t.

Попробуйте:

a="\t"
my_line.split(a)
0
ответ дан 08.04.2019, 08:39
  • 1
    Опция Scopes работает, как я хотел, Спасибо! – Denis Seletkov 25.01.2019, 01:44

Теги

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