[英]Checking if a string contains a substring contained in a slice in Go
我有一個子字符串數組和一部分字符串。 我想檢查字符串是否包含mySliceOfSubstrings切片中的任何子字符串。
mySliceOfSubstrings := []string{"hello", "world"}
mySliceOfStringsToCheck := []string{"hello mars", "hey mars"}
有沒有下面將循環放入循環的更好的方法呢?
for _, string := range mySliceOfStringsToCheck {
for _, substring := range mySliceOfSubstrings {
result := strings.Contains(string, substring)
}
}
如果我想針對兩個不同的子字符串切片檢查字符串怎么辦?
除非數據量很大,並且您正在尋找對現有O(N ^ 2)解決方案進行算法上的改進,否則您的代碼很好。
對於非常大的數據,您可以考慮使用一些更復雜的數據結構。 例如,Go具有https://golang.org/pkg/index/suffixarray程序包,該程序包使您可以對字符串進行檢查,預處理,然后在對數時間內執行子字符串查找。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.