Имеет ли xslt функцию split ()?

Как вы разделите строку на основе некоторого разделителя?

Учитывая строку Topic1,Topic2,Topic3 , я хочу разбить строку на основе , чтобы сгенерировать:

 Topic1 Topic2 Topic3 

В XSLT 1.0 вам нужно создать рекурсивный шаблон. Эта таблица стилей:

                           в                           в                           

Входные данные:

  Item1, Item2, Item3  

Вывод:

   Item1 Item2 Item3   

В XSLT 2.0 у вас есть tokenize() . Итак, эта таблица стилей:

                

Результат:

   Item1 Item2 Item3   

Использовать fn:tokenize

Нет функции split , но вы можете использовать рекурсивный шаблон с substring-before и substring-after чтобы написать свой собственный.

Подробнее см. В этой статье.

Спасибо пользователю357812. Я использую ваш хороший шаблон с небольшой настройкой, чтобы сделать его общим:

                                     в                                     в                                     

XSLT 1.0
Мне нужен был небольшой вариант по сравнению с другими ответами, приведенными здесь.

Входные данные :

1, 2, 3

Ouput:

1, 2 и 3

Входные данные :

1

Вывод

1

Если разделителем является пространство вместо запятой, оно все равно будет работать.

Входные данные :

1 2 3

Ouput:

1, 2 и 3

Я только что создал слегка измененный шаблон.

          ,   and                  в          ,   and                  в          ,   and                  в          ,   and                  в          ,   and                  

Шаблон можно вызвать, как показано ниже, когда разделитель является запятой

  1, 2, 3     

Шаблон можно вызвать, как показано ниже, когда разделитель является пространством

  1 2 3     

В зависимости от того, какой XSL-процессор вы используете, у вас может быть доступ к функции расширения str: tokenize () .

Итак, чтобы разделить Topic1,Topic2,Topic3 on , do;

  

который даст результат;

 Topic1 Topic2 Topic3 
  • Regex пустая строка или электронная почта
  • Как получить первые n символов строки без проверки размера или выхода за пределы?
  • Измените строку с помощью указателя
  • Обработка строк с помощью & или + в VB.NET
  • Получение и удаление первого символа строки
  • Используйте Java и RegEx для преобразования оболочки в строку
  • Как создать массив строк в C?
  • Java: разделение запятой строки, но игнорирование запятых в кавычках
  • Как преобразовать строку Java в байт ?
  • Objective-C разметка шестнадцатеричной строки для целого числа
  • Лучший способ указать пробелы в операции String.Split
  • Давайте будем гением компьютера.