2014-11-07 1 views
1

Я извлекаю данные из Интернета. Данные разделяются каждой строкой. Данные выглядят следующим образом:Загрузка данных с PHP не разделена на новые строки

Data1 
Data2 
Data3 

Я хочу предупредить за каждую информацию, содержащуюся на веб-странице. Пробовал это,

Dim Lines() As String 
    Dim stringSeparators() As String = {vbCrLf} 
    Dim Source As String 
    Dim wc As New WebClient 

    Source = wc.DownloadString("http://www.example.com/data.php") 
    Lines = Source.Split(stringSeparators, StringSplitOptions.None) 
    For Each s As String In Lines 
     MsgBox(s) 
    Next 

Но, к сожалению, он предупреждает о всех данных. Мой вопрос в том, как предупредить за каждую информацию?

+2

Что такое * фактический символ EOL? Вероятно, это просто «новая» или «\ n», которая является строкой, заканчивающейся на каждой другой ОС основного уровня, за исключением окон. – user2864740

+0

Просто новая строка – user198989

+0

@ user198989: fyi, я удалил свой anser с тех пор, как я что 'stringSeparators' уже является' String() ', а не одной строкой. –

ответ

2

vbCrLf как defined in Constants, не будет соответствовать одному UNIX-style newline - "Newline" (\n), LF/LINEFEED, ASCII 10 - символ, как передается от PHP.

Чтобы справиться с конца-строки последовательности как для Windows и UNIX/Linux, использование:

Dim stringSeparators() As String = {vbLf, vbCrLf} 

Порядок сепараторы, поставляемые не имеет значения, см замечания в String.Split для деталей.

В то время как выше, решает эту проблему в достаточно прочном образом, он может лучше использовать формат точной EOL, особенно при записи - и сделать выбор перед основываясь на установленном формате. В этом случае это может быть только использование vbLf, которое будет работать для данного выходного файла PHP, но неправильно оставит в символах CR для текстовых файлов Windows.

При работе с системой родной текстовых файлов или компонентов Windows, таких как элементы управления, vbNewLine обычно должен быть предпочтительнее vbCrLf: vbCrlLf уместно, когда цель состоит в том, чтобы быть явно, как указано выше, и принимать только/испускают определенной последовательности ASCII, как это предусмотрено протоколами и соглашениями.

Смежные вопросы