PDA

View Full Version : سوال: مشکل با توابع رشته برای تعیین اسم



immortalsoull
جمعه 31 خرداد 1392, 20:53 عصر
سلام خدمت شما من یک مشکل در توابع رشته دارم بزارین مشکلم را با زدن یک مثال بهتر توضیح دهم .
من در vb.net در windows application در 1 textbox دارم + 1 label و 1 button من می خواهم با استفاده از توابع رشته وقتی در textbox من نوشته شد "اسم دلخواهی که کاربر وارد می کند "print اسمی که داخل " " است را (هر تعداد حرف) با زدن button در label.text قرار دهد به طور مثال :
"print"Welcome
و سپس در label موجود در form چاپ شود Welcome

هدف من از این امر این است که کاربر بتواند اسم هایی که می خواهد تغییر دهد با نوشتن یک text این کار را انجام دهد .

من هیجایی همچین سوالی ندیدم و چون از سایت barnamenevis خوشم آمد و دیدم گروه های فعالی دارد گفتم اینجا بپرسم شاید کسی جواب بده ممنون می شم جواب این سوال من را بدین :چشمک:

tooraj_azizi_1035
یک شنبه 02 تیر 1392, 11:01 صبح
Imports System.Text.RegularExpressions

Module Module1
Sub Main()
Dim regex As Regex = New Regex(@"print\"[\w+ ]*\"")
Dim match As Match = regex.Match(txtUser.Text)
If match.Success Then
Console.WriteLine(match.Value)
End If
End Sub
End Module

immortalsoull
دوشنبه 03 تیر 1392, 21:39 عصر
سلام و ممنون از وقتی که گذاشتید لطفا میشه بگید من این کد ها رد کجا باید قرار بدم ؟ تو module که txtuser نداریم که گذاشتین اگه می شه یک کمک بکنید (:

tooraj_azizi_1035
دوشنبه 03 تیر 1392, 21:43 عصر
txtuserباکسی هست که کاربر در اون مقدار وارد می کنه به جای خط Console.WriteLne باید به Label تون مقدار بدید.

immortalsoull
دوشنبه 03 تیر 1392, 23:17 عصر
من همین کار را کردم اما باز به مشکل برخورد |:

Hossis
دوشنبه 03 تیر 1392, 23:29 عصر
می تونید با استفاده از تابع Substring یا mid این کار ر و انجام بدید

Dim s, L As Integer
s = TextBox1.Text.IndexOf(Chr(34))
L = TextBox1.Text.IndexOf(Chr(34), s + 1) - s

Lable1.Text = TextBox1.Text.Substring(s + 1, L - 1)

tooraj_azizi_1035
سه شنبه 04 تیر 1392, 14:45 عصر
من همین کار را کردم اما باز به مشکل برخورد |:
چه خطایی میده؟

Mani_rf
چهارشنبه 05 تیر 1392, 22:44 عصر
Dim regex As Regex = New Regex(@"print\"[\w+ ]*\"")

احتمالا این کد برای #C بوده و با کانورتور تبدیل شده. این قسمت را به این شکل تغییر بده :

Dim regex As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex("print""[\w+ ]*""")

immortalsoull
شنبه 08 تیر 1392, 10:10 صبح
سلام و ممنون از جوابتون من همین کاری را گفتید کردم اما وقتی print قبل " " نباشه هم عمل می کنه من مخواهم توسط print عمل کنه !