View Full Version : سوال: بهینه کردن کد جدا کردن آخرین قسمت یک رشته
JaVa
سه شنبه 17 بهمن 1391, 19:05 عصر
سلام.
من با استفاده از کد زیر تونستم رشته زیر رو تجزیه کنم و آخرین قسمتش(amoozesh) رو بدست بیارم :
"\\MRG-PC\Users\MRG\Desktop\amoozesh"
Dim FBD As New FolderBrowserDialog
Dim str As String
Dim i As Integer
Dim parts() As String
Dim strEnd As String
str = "\\MRG-PC\Users\MRG\Desktop\amoozesh"
parts = Split(str, "\")
For i = 0 To parts.GetUpperBound(0)
strEnd = parts(i)
Next
MessageBox.Show(strEnd)
End Sub
شما می تونید یک کد بهینه تر براش بنویسید ؟
asghar2008
سه شنبه 17 بهمن 1391, 20:15 عصر
سلام
فک کنم با Regex بهتر بشه نوشت.
shahryari
سه شنبه 17 بهمن 1391, 22:58 عصر
با سلام
اين به ذهنم رسيد ...
Private Function GetlastItem(ByVal txt As String) As String
If txt.IndexOf("\"c) = -1 Then Return String.Empty
Return txt.Substring(txt.LastIndexOf("\"c) + 1)
End Function
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
MsgBox(GetlastItem("\\MRG-PC\Users\MRG\Desktop\amoozesh"))
End Sub
JaVa
سه شنبه 17 بهمن 1391, 23:19 عصر
یه رشته دارم به شکل زیر :
"C:\Users\MRG\Desktop\aaaaaaa\KonKore\1.PDF"
این رشته باید در بانک ذخیره بشه. و کامپیوتر کلاینت هم باید به شکل زیر به فایل دستریب داشته باشه.
"\\نام کامپیوتر سرور\aaaaaaa\KonKore\1.PDF"
چطور باید این قسمت حذف بشه :
"C:\Users\MRG\Desktop"
با تشکر
shahryari
سه شنبه 17 بهمن 1391, 23:24 عصر
اين هم از اين:
Dim s_1 As String = "C:\Users\MRG\Desktop\aaaaaaa\KonKore\1.PDF"
Dim s_2 As String = s_1.Replace("C:\Users\MRG\Desktop", "\\نام کامپیوتر سرور")
MsgBox(s_2)
ديگه؟؟؟
JaVa
سه شنبه 17 بهمن 1391, 23:27 عصر
اين هم از اين:
Dim s_1 As String = "C:\Users\MRG\Desktop\aaaaaaa\KonKore\1.PDF"
Dim s_2 As String = s_1.Replace("C:\Users\MRG\Desktop", "\\نام کامپیوتر سرور")
MsgBox(s_2)
ديگه؟؟؟
نه!!!!!
این فسمت متغیره : روی هر سیستمی یه چیزه برای خودش اون aaaaaaa ثابته
"C:\Users\MRG\Desktop"
shahryari
سه شنبه 17 بهمن 1391, 23:30 عصر
كد بالا اين رو ميگيره
"C:\Users\MRG\Desktop\aaaaaaa\KonKore\1.PDF"
اين رو برميگردونه
"\\نام کامپیوتر سرور\aaaaaaa\KonKore\1.PDF"
-----------------------
مگه اينو نميخواستي؟؟؟
JaVa
سه شنبه 17 بهمن 1391, 23:33 عصر
نه متاسفانه.
این "C:\Users\MRG\Desktop متغیره . روی هر سیستمی می تونه یه مقدار باشه. از قسمت \aaaaaaa\KonKore\1.PDF" ثابته.
shahryari
سه شنبه 17 بهمن 1391, 23:38 عصر
منظرتون اين بود؟
Dim st As String = My.Computer.FileSystem.SpecialDirectories.Desktop
Dim s_1 As String = st & "\aaaaaaa\KonKore\1.PDF"
Dim s_2 As String = s_1.Replace(st, "\\نام کامپیوتر سرور")
MsgBox(s_2)
JaVa
سه شنبه 17 بهمن 1391, 23:44 عصر
آقا شهریار یه دنیا ممنون. از لطفتون.
نگاه کنید حالت های مختلف:
"C:\Users\MRG\Desktop\aaaaaaa\Varjeshe\2.PDF"
"E:\aaaaaaa\Varjeshe\2.PDF"
"F:\BankDigital\aaaaaaa\Varjeshe\2.PDF"
"D:\Folder\aaaaaaa\Varjeshe\2.PDF"
shahryari
سه شنبه 17 بهمن 1391, 23:48 عصر
توضيح بيشتربده ؟؟؟ :متفکر:
:عصبانی++:
JaVa
سه شنبه 17 بهمن 1391, 23:57 عصر
توضيح بيشتربده ؟؟؟ :متفکر:
:عصبانی++:
نگاه کن هر چیزی قبل از \aaaaaaa\ باید پاک بشه. یعنی رشته از این حالت :
"C:\Users\MRG\Desktop\aaaaaaa\Varjeshe\2.PDF"
به این حالت تبدیل بشه :
\aaaaaaa\Varjeshe\2.PDF"
تموم شد رفت.:چشمک:
mc_laren
چهارشنبه 18 بهمن 1391, 00:08 صبح
Dim Str1 As String = "E:\aaaaaaa\Varjeshe\2.PDF"
MsgBox(Str1.Substring(Str1.IndexOf("aaaaaaa"), Str1.Length - Str1.IndexOf("aaaaaaa")))
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.