我在excel中的字符串可以是任何像213221-sddc或232323/scdscsd或數字和字符之間的任何分隔符......我怎樣才能從這個文本中提取數字?如何從字母數字文本中提取數字?
回答
這僅僅是一個開始,你可以從一系列閱讀你的所有字母數字文字(根據圖像),然後使用ABOVE MENTIONED FUNCTION From Dave and Richie
Option Explicit
Sub TestRange()
Dim numberArray As Variant
Dim i As Integer
Dim strTemp As String
numberArray = Application.Transpose(Sheets(1).Range("B4:B11"))
For i = LBound(numberArray) To UBound(numberArray)
strTemp = numberArray(i)
numberArray(i) = ExtractNumber(strTemp) '-- **You use above mentioned function**
Next i
'Output the processed array into the Sheet.
Sheets(1).Range("C4").Resize(UBound(numberArray), _
LBound(numberArray)) = Application.Transpose(numberArray)
End Sub
輸出:
使用正則表達式。我已經將strNoAlpha作爲Double加入,但如果需要,這也可以是一個字符串。
Dim str As String, strNoAlpha As Double
str = "213221-sddc"
With CreateObject("vbscript.regexp")
.Pattern = "[^\d]+"
.Global = True
strNoAlpha = Trim(.Replace(str, vbNullString))
End With
或者作爲UDF:
Function removeAlpha(rng As Range) As Double
If (rng.Count <> 1) Then
removeAlpha = "Only select one cell"
Exit Function
End If
Dim str As String
str = rng.Value2
With CreateObject("vbscript.regexp")
.Pattern = "[^\d]+"
.Global = True
removeAlpha = Trim(.Replace(str, vbNullString))
End With
End Function
+ 1用於RegEx。你可能也想使用'Trim(strNoAlpha)'去除空格? –
空格被\ d刪除,只返回數字,但通常是一種很好的技術。 – InContext
'strNoAlpha = .Replace(str,vbNullString)'不會刪除空格...試試這個'Debug.Print Len(Trim(strNoAlpha))'和'Debug.Print Len(strNoAlpha)'第一個會給你6,第二個會給你8 ... –
- 1. 如何從文本中提取數字?
- 2. 從字母數字字符串中提取數字
- 3. 使用RegEx從字母數字字符串中提取數字
- 4. 提取字母數字值
- 5. 從字母數字QString中提取數字
- 6. 通過使用VB腳本從字母數字中提取數字
- 7. 如何從文本文件中提取數字數據?
- 8. 從字段數組中提取文本
- 9. 從文本框中提取數字
- 10. 從文本框中提取數字
- 11. 從字符串中提取文本,連字符和數字
- 12. 從一串數字和文本中提取數字
- 13. 從文本文件中查找字母數字字符串
- 14. 從字母數字字段中提取6-8位數字的日期
- 15. 在Swift中從文本文件中提取數字和字符
- 16. 如何從字符串中獲取數字和字母?
- 17. 使用數字和字母在字符串中提取整數
- 18. 如何從數組中提取數字
- 19. 從數字中提取個人數字。
- 20. 從文件中提取字母
- 21. 如何從文本文件中一次提取100個數字?
- 22. Vimperator字母數字提示
- 23. 從圖像中提取數字和字母特徵
- 24. 如何從SQL中的文本中提取數字範圍
- 25. 如何從字符中提取MySQL數據庫中的文本?
- 26. 提取文本文件中的數字
- 27. 從一個文本字符串中提取數字 - Excel
- 28. 從「/」之間的字符串中提取文本和數字
- 29. 如何爲數字文本字段和字母文本字段設置鍵盤?
- 30. 從javascript中的字母數字字符串獲取數值
,因爲我的手比較癢我寫了一個代碼參照我從評論中提到的功能。所以沒有交叉發佈。但要讓您瞭解如何讀取Excel單元格範圍以處理文本然後輸出。希望讓你去;) – bonCodigo
當你可以使用正則表達式時,不需要太多的代碼 – InContext
如果你的數字總是在字符串的前面,那麼正則表達式是矯枉過正的。 – brettdj