iam在mediawiki中創建一個字典,爲此目的,我設計了一個bot在vb.net 當我搜索一個字符串,其中包含[[代碼dosne detect [[in a string一個似乎它繞過[[代碼如下在vb.net中搜索一個方括號字符串
dbCommand.CommandText = "SELECT * FROM data"
dbCommand.Connection = dbConn
dbConn.Open()
Dim dbDR As OleDb.OleDbDataReader = dbCommand.ExecuteReader
While dbDR.Read
Dim mydata As String = CStr(dbDR("mean".ToString))
If InStr(mydata, vbNewLine & "[[اسم نکرہ]]") Then
Dim myid As String = dbDR("ID".ToString)
ListBox1.Items.Add(mydid)
End If
End While
此代碼搜索
爲vbNewLine &「[[اسمنکرہ]]」中的字符串,然後添加本身份識別碼到列表框,但它搜索「اسمنکرہ」也(不[[)所以它混合起來。我在哪裏犯錯誤?
混合標點符號使用從右到左的渲染語言可能非常棘手。至少試驗使用CompareMethod的InStr重載,以便您可以指定Text而不是Binary的默認值。你的默認文化也起着重要的作用。使用String.ToCharArray()進一步診斷問題並支持String.IndexOf(),以便您可以選擇一個StringComparison。最後但並非最不重要的一點,方括號是SQL語句的轉義字符。 – 2012-02-26 15:46:30
符合漢斯的評論,你確定它是方括號嗎?字符串是爲我找到的,雖然我沒有對數據庫進行測試。 – Fionnuala 2012-02-27 09:43:14