PDA

View Full Version : سوال: جستجوی کاراکتر خاص



y.saied
سه شنبه 20 فروردین 1392, 22:56 عصر
سلام، در رشته زیر:

3-امانت --> 15:ایرانیان
5-امانت --> 1:نصب
18-امانت --> 1078:زمین سازان


به نظر شما برای اینکه بتونم اعداد 15،1 و 1078 رو پیدا کنم، بهترین و ساده ترین روش چی هستش؟

Hossis
سه شنبه 20 فروردین 1392, 23:07 عصر
کاراکتر > رو با متد indexof یا instr پیدا کرده و از آنجا تا کاراکتر : را انتخاب نمایید و این رو در هر یک از خطوط انجام بدید
اگر خواستید, بگید فرمولش رو پیاده کنم

y.saied
سه شنبه 20 فروردین 1392, 23:34 عصر
اگه لطف کنین ممنون میشم
مرسی

tooraj_azizi_1035
چهارشنبه 21 فروردین 1392, 11:17 صبح
سلام

const string input = "There are 4 numbers in this string: 40, 30, and 10.";
// Split on one or more non-digit characters.
string[] numbers = Regex.Split(input, @"\D+");
foreach (string value in numbers)
{
if (!string.IsNullOrEmpty(value))
{
int i = int.Parse(value);
Console.WriteLine("Number: {0}", i);
}
}
Output

Number: 4
Number: 40
Number: 30
Number: 10



شما باید خروجی تون رو ببینید. فکر می کنم باید یکی در میان اعداد رو بردارید تا به خروجی دلخواه برسید.

damanpak
چهارشنبه 21 فروردین 1392, 11:26 صبح
سلام
فرض میکنیم که عباراتی که میخواین عدد رو ازش جدا کنید توی یک آرایه رشته ای قرار داره بنابراین


Dim mytext() As String = {"18-امانت --> 1078:زمین سازان", "5-امانت --> 1:نصب", "3-امانت --> 15:ایرانیان"}
For i As Integer = 0 To UBound(mytext)
MsgBox(Mid(mytext(i), InStr(mytext(i), ">") + 1, (InStr(mytext(i), ":") - 1) - (InStr(mytext(i), ">"))))
Next

اگر هم فقط یک عبارت باشه بافرض اینکه اون عبارت توی Textbox1 قرار داره


msgbox(Mid(TextBox1.Text, InStr(TextBox1.Text, ">") + 1, (InStr(TextBox1.Text, ":") - 1) - (InStr(TextBox1.Text, ">"))))