Разделение строки во всем пробеле

Вы больше делаете выборки? Необходимо показать тем также. Вы только показываете нам половину кода.

Это должно быть похожим:

FETCH NEXT FROM @Outer INTO ...
WHILE @@FETCH_STATUS = 0
BEGIN
  DECLARE @Inner...
  OPEN @Inner
  FETCH NEXT FROM @Inner INTO ...
  WHILE @@FETCH_STATUS = 0
  BEGIN
  ...
    FETCH NEXT FROM @Inner INTO ...
  END
  CLOSE @Inner
  DEALLOCATE @Inner
  FETCH NEXT FROM @Outer INTO ...
END
CLOSE @Outer
DEALLOCATE @Outer

кроме того, удостоверьтесь, что Вы не называете курсоры тем же..., и любой код (проверьте свои триггеры), который называют, не использует курсор, который называют тем же. Я видел нечетное поведение от людей, использующих 'theCursor' в нескольких слоях стека.

15
задан Johannes Rudolph 7 August 2010 в 18:11
поделиться

4 ответа

String.Split () (без параметров) разбивает все пробелы (включая LF / CR)

23
ответ дан 1 December 2019 в 00:21
поделиться

Попробуйте следующее:

Regex.Split("your string here", "\s+")
18
ответ дан 1 December 2019 в 00:21
поделиться
Dim words As String = "This is a list of words, with: a bit of punctuation" + _
                          vbTab + "and a tab character." + vbNewLine
Dim split As String() = words.Split(New [Char]() {" "c, CChar(vbTab), CChar(vbNewLine) })
-1
ответ дан 1 December 2019 в 00:21
поделиться

String.Split () будет разбиваться по каждому пробелу, поэтому результат обычно будет содержать пустые строки. Решение Regex, данное Рубеном Фариасом, является правильным способом сделать это. Я поддержал его ответ, но хочу сделать небольшое дополнение, анализируя регулярное выражение:

\ s - это класс символов , который соответствует всем пробельным символам.

Чтобы правильно разделить строку, если она содержит несколько пробелов между словами, нам нужно добавить квантификатор (или оператор повторения) в спецификацию, чтобы сопоставить все пробелы между словами. Правильный квантор для использования в этом случае - + , что означает «одно или несколько» вхождений данной спецификации. Хотя здесь достаточно синтаксиса «\ s +» , я предпочитаю более явный « [\ s] + ».

2
ответ дан 1 December 2019 в 00:21
поделиться
Другие вопросы по тегам:

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