2015-10-20 98 views
-4

有人可以帮我解决这个问题吗?修剪一个字符串 - 删除VB.NET中的空格和括号

在vb.net(VS2013): 一个字符串的格式为:char12345 (6789).jpg

修剪到字符串:char12345.jpg

基本上,我需要剪掉的中间部分:空间和括号中的所有内容(包括括号)。

将VB的修剪功能工作?或者我需要使用RegEx ...

非常感谢提前!

+1

'会有人帮我这please'您会后你已经尝试了什么,请?请参阅[问] – Plutonix

+1

_“将VB的修剪功能工作吗?”_号_“或我需要使用RegEx”_不一定。但是你卡在哪一点?你是否对字符串操作做过任何研究,无论是否使用正则表达式? –

+0

这些虚伪总是在最后? –

回答

2

你不需要正则表达式,你可以删除括号也与纯字符串方法:

Dim path = "char12345 (6789).jpg" 
Dim ext = IO.Path.GetExtension(path) 
Dim fn = IO.Path.GetFileNameWithoutExtension(path) 
Dim index = fn.IndexOf("(") 
If index >= 0 Then fn = fn.Remove(index).Trim() 
path = String.Format("{0}{1}", fn, ext) 

假定他们总是直接延期前或背后的部分也被删除。否则,它变得有点复杂:

Dim index = fn.IndexOf("(") 
If index >= 0 Then 
    Dim endindex = fn.LastIndexOf(")", index) 
    If endindex >= 0 Then 
     fn = fn.Remove(index).Trim() & fn.Substring(endindex + 1) 
    Else 
     fn = fn.Remove(index).Trim() 
    End If 
End If 
+0

所有好评。需要审查字符串操作。施梅特尔先生的解决方案非常有用。 InbetweenWeekends的解决方案适用于我所陈述的特定格式,但我意识到有些字符串没有括号。对于我的情况,检查索引> = 0是必要的。谢谢! – TigDragon

2

鉴于你的输入,你可以做到这一点与Split

Dim str as String = "char12345 (6789).jpg" 
Console.Write(str.Split(" ")(0) & "." & str.Split(".")(1))