Разбиение строки, чтобы сохранить запятую в строке

#scheme #racket

#схема #ракетка

Вопрос:

У меня есть следующий код для разделения строки на список:

 (define ss "1, 2, 3, "Hi, John", 5, 6")

(string-split ss ",")
  

Однако он "Hi, John" также разделяет строку, поскольку она содержит разделитель:

 '("1" " 2" " 3" " "Hi" " John"" " 5" " 6")
  

Как я могу заставить его держаться "Hi, John" вместе? Нужно ли мне использовать для этого регулярное выражение?

Ответ №1:

Используйте пакет csv-reading Нила ван Дайка. Это здорово!

http://docs.racket-lang.org/csv-reading/index.html

Комментарии:

1. Спасибо за ссылку. Но нельзя ли каким-либо образом выполнить вышеуказанную задачу с помощью кодирования в базовой ракетке?