好的,所以我正在研究這個VB.NET程序,我嘗試過使用.replace()來做到這一點,但這不是最好的方法。我有一個字符串與數據之間有多個空格,我不想要,從字符串中除去空格的最佳方法是什麼?將多個空間替換爲一個?
回答
使用正則表達式匹配多個空格,代之以一個空格:
s = Regex.Replace(s, " {2,}", " ")
下面是一個使用數組的方式,如果你更願意避免正則表達式。
鑑於這個出發字符串:
Dim str As String = "This is a test string"
你可以這樣做:
Dim arr As String() = str.Split({" "c}, StringSplitOptions.RemoveEmptyEntries)
Dim compressedSpaces As String = String.Join(" ", arr)
還可以將其合併爲一行:
Dim newString As String = String.Join(" ", str.Split({" "c},
StringSplitOptions.RemoveEmptyEntries))
從@TimSchmelter引用的答案中,RegEx選項更快。 Jon Skeet說這種方法可以爲垃圾收集器創建大量工作,具體取決於源字符串的長度。 –
RegEx在我的經驗中很少更快。如果速度是一個因素,最好在負載下檢查。由於調試/可維護性問題,應避免IMO正則表達式。 – rheitzman
RegEx解決方案在這種情況下速度更快。請參閱此處的討論:http://stackoverflow.com/a/1280227/645511我應該注意它非常接近,具體取決於您想要的細節。 –
- 1. PHP用單個空間替換多個空間
- 2. 替換另一個名稱空間
- 3. 將兩個或多個空格替換爲&nbsp,
- 4. 用單個空白替換單詞之間的多個空格
- 5. 如何使用sed將一個空白替換爲空格?
- 6. 替換一個或多個空格,只需一個新行。
- 7. mysql替換一個空值
- 8. 如何將多個空格替換爲字符串(java)中的單個空格?
- 9. 將兩個或多個C++命名空間合併爲一個
- 10. 如何停止瀏覽器使用單個空間替換多個空間?
- 11. 。替換爲Javascript替換多個字符
- 12. 將文本替換爲多個文件
- 13. Python替換 - 將多個實例視爲一個
- 14. 將多個字符串替換爲一個語句?
- 15. 將多個重複字符替換爲一個
- 16. 如何使用awk將多個空字段替換爲零
- 17. 用vb.net中的空格替換多個製表符空間
- 18. 用一個文本文件替換兩個或多個空格;
- 19. 將多個空格,製表符和換行符替換爲除註釋文本之外的一個空格
- 20. JavaScript的更換被替換每個空間,非空間
- 21. 替換爲%20空間
- 22. 多個替換爲javascript
- 23. 在C++中讀取一個文件時,將多個連續的空白行替換爲單個空白行
- 24. Sed命令替換如何將空格或多個空格視爲一個空格?
- 25. 將單詞間的多個空格更改爲一個
- 26. Sed一個空字符串並將其替換爲
- 27. 替換空間
- 28. 將html元素替換爲另一個
- 29. 將SherlockFragment替換爲另一個
- 30. 將ViewModel替換爲另一個ViewModel
整潔!它完美地工作,非常感謝你,我在其他線程上發現的所有其他代碼碰巧是非常龐大而笨重的,這是我不想要的,完美地工作,並且對重複感到抱歉! – bloodless2010
@Guffa,你能解釋一下你使用的模式嗎? – MansoorShaikh
@ MansoorShaikh:它只是一個空格,後跟量詞'{2,}',所以它匹配一個空格,重複兩次或更多次。 – Guffa