PDA

View Full Version : نوشتن یک پترن برای بیرون کشیدن یک تکه رشته کوچک



sara_aryanfar
جمعه 04 فروردین 1391, 23:17 عصر
با سلام خدمت دوستان من در سورس صفحه ای که میگیرم این عبارت به تعداد زید تکرار شده می خواستم بدونم با چه پترنی می تونم اینا رو جدا کنم

"/1391/01/04/post-193/ (http://barnamenevis.org/view-source:http://zarehbin.blogsky.com/1391/01/04/post-193/)"
توجه کنید که همه اعداد تغییر می کنن و ثابت نیستن اونچه که داریم اینه بخش اول 4 عدد دومی 2 عدد و سوی هم دو عدد و بخش بعدی شامل post- هست

vof.ir
شنبه 05 فروردین 1391, 00:03 صبح
شما میخواهید خطوطی از سورس صفحه را جدا کنید که با 4 کاراکتر عددی به علاوه 2 کاراکتر عددی به علاوه 2 کاراکتر عددی به علاوه کلمه 4 حرفی post شروع می شود درسته؟؟؟

lvlaziar
شنبه 05 فروردین 1391, 08:05 صبح
با عرض معذرت دقیقا نفهمیدم چیو میخواید جدا کنید!
ولی اگه این چیه ک میخواید جدا کنید از split استفاده کنید و کاراکتر جدا کنندشو / بزارید! و بعدشم اون چیو ک میخوای جدا کنید!
البته بازم میگم ک اگه بگید دقیقا کدوم قسمتو میخواین جدا کنید بهتر میتونیم کمکتون کنیم!
خوش باشید!

sara_aryanfar
شنبه 05 فروردین 1391, 12:55 عصر
دوستان من فقط این بخش رو می خوام
"/1391/01/04/post-193"
چون جایگاه اینا نامشخصه فکر نکنم بشه از split استفاده کرد باید از پترن استفاده کرد

mostafaaa
شنبه 05 فروردین 1391, 14:03 عصر
سلام
ببین این کد به کارت میاد :
public string GetPattern(string url)
{
string Pattern = "([/]\\d*[/]\\d*[/]\\d*[/]\\w*[-]\\d*[/])";
return Regex.Match(url, Pattern).Value;
}

sara_aryanfar
شنبه 05 فروردین 1391, 14:49 عصر
متاسفانه عمل نکرد و نتونست رشته مورد نظر رو جدا کنه

mostafaaa
شنبه 05 فروردین 1391, 15:48 عصر
سلام
من تستش کردم مشکلی نداشت.
دوباره به این شکل تستش کنید...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string Input = "http://zarehbin.blogsky.com/1391/01/04/post-193/ target=_blank>/</a>";
string Output = GetPattern(Input);
Console.WriteLine(Output);
Console.ReadLine();

}


public static string GetPattern(string url)
{
string Pattern = "([/]\\d*[/]\\d*[/]\\d*[/]\\w*[-]\\d*[/])";
return Regex.Match(url, Pattern).Value;
}
}
}