Я не знаю, если это более очевидно? Начиная с начала longString
проверьте следующие символы до числовых символов в phrase
, если phrase
не найден, начните смотреть со второго символа и т. Д. Если он найден, начните с текущей позиции плюс число символов в phrase
и увеличьте значение occurences
Module Module1
Sub Main()
Dim longString As String = "Hello there. My name is John. I work very hard. Hello there! Hello therehello there"
Dim phrase As String = "hello There"
Dim occurences As Integer = 0
Dim n As Integer = 0
Do Until n >= longString.Length - (phrase.Length - 1)
If longString.ToLower.Substring(n, phrase.Length).Contains(phrase.ToLower) Then
occurences += 1
n = n + (phrase.Length - 1)
End If
n += 1
Loop
Console.WriteLine(occurences)
End Sub
End Module
Нет, Grails / Hibernate не будет автоматически обновлять вашу схему БД (за исключением простых случаев, таких как добавление нового атрибута), потому что эту задачу нельзя надежно автоматизировать (особенно с измененными данными типы или ограничения). Что должен делать Hibernate с существующими данными, если вы измените тип данных свойства с String на int?
Итак, все это нужно делать вручную. Однако для этого есть инструментальная поддержка, а именно плагин Autobase , который основан на liquibase . Если вы когда-либо разрабатывали с помощью RoR, возможно, вы знакомы с миграциями - по сути, это то, что предоставляет autobase. Однозначно могу порекомендовать autobase / liquibase, мы используем его во всех наших производственных проектах.
Самое основное, что вы можете сделать, это.
Вы должны вести журнал изменений для вашего приложения, эти изменения схемы БД должны записываться в этот журнал (просто текстовый файл) по мере их внесения. Затем каждый релиз, который вы делаете, должен иметь связанный SQL-скрипт (если есть изменения в БД), этот скрипт должен обрабатывать эти изменения ограничений (и другие вещи...).
Вы должны сначала протестировать этот SQL-скрипт на вашей среде постановки, прежде чем запускать его на производстве.
Кроме того, вам может понадобиться поддерживать версию схемы БД внутри вашей БД (в мета-таблице), миграции Rails делают это.
Вышеизложенное не является исчерпывающим руководством к действию, просто общие рекомендации