-1
在我的輸入csv文件中,我可能在文件的任何位置都有以下特殊字符。我必須用一些替代文字替換下面的特殊字符。我怎樣才能做到這一點在VB腳本?VB腳本 - 從csv文件中刪除特殊字符
®³·•½×IΕ - ∞∞「「≤≥•
在我的輸入csv文件中,我可能在文件的任何位置都有以下特殊字符。我必須用一些替代文字替換下面的特殊字符。我怎樣才能做到這一點在VB腳本?VB腳本 - 從csv文件中刪除特殊字符
®³·•½×IΕ - ∞∞「「≤≥•
我們可以遍歷CSV文件的每一個細胞,並在每個單元驗證每個字節,它使用ASCII比較值根據您的要求,如果Ascii值不在我們預期的值範圍之內,我們可以用您需要的任何文本替換它。下面的示例代碼
Workbooks.Open("Your CSV file")
for k = 1 to Activeworkbook.Sheets(1).usedrange.rows.count
for j= 1 to Activeworkbook.Sheets(1).usedrange.columns.count
value=Activeworkbook.sheets(1).cells(k,j)
newvalue=""
for i=1 to len(value)-1
temp=mid(value,i,1)
if (Asc(temp)<127 and Asc(temp)>31)then ' i am just assuming only the values on keyboard should be included any other conditions required for your requirement can be implied here
newvalue=newvalue & temp
else
newvalue=newvalue &"required text"
endif
next
activeworkbook.sheets(1).cells(k,j)=newvalue
next
next
這將是VBA,而不是VB腳本。儘管如此,在Excel中工作可能會更有成效。也許提問者會轉移那裏的工作。 –
閱讀並關注_Hey,腳本專家! Blog_:[如何查找和替換文本文件中的文本?](https://blogs.technet.microsoft.com/heyscriptingguy/2005/02/08/how-can-i-find-and-replace-text -in-一個文本文件/)。然後,如果遇到某些問題,請編輯您的問題並顯示代碼的[mcve]。 – JosefZ
用於編寫csv文件的字符編碼是什麼? (所有文本都有一個編碼,如果你不知道它是什麼,那麼你不能正確讀取它。)VB腳本自然地使用UTF-16,但可以使用默認的ANSI代碼頁進行轉換。默認的ANSI代碼頁是數十種編碼中的一種,並隨着時間,用戶和系統的變化而變化,因此它使通信非常複雜。注意:令人困惑的是,在VB腳本文檔和其他地方,UTF-16被稱爲Unicode。 –