رفتن به مطلب
  • 0

سوال در مورد string


mrnazari

سوال

سلام دوستان

یه موضوعی بدجور ذهن منو درگیر خودش کرده

اونم اینه که فرض کنید ما یه متنی داریم به صورت زیر:

<display_url>
abcdefghijklmnopqrstuvwxyz
<display_resources>
<display_url>
;ERG;AGJPKKGPOK
<display_resources>
<display_url>
avaerhjhfjf
<display_resources>
<display_url>
SYNSYAERYBNYAEYBKY
<display_resources>
<display_url>
sghbactwREVY
<display_resources>
<display_url>
SRTBSYV
<display_resources>
<display_url>
ATRYBKMFDVERVYYY
<display_resources>

من می‌خوام هر چیزی که بین <display_url> و <display_resources> هستش رو به log کنم

کلی روش فکر کردم و با indexof و substring2 کلی تست گرفتم ولی به نتیجه‌ای نرسیدم و فقط اولی رو لاگ می‌کنه

اگه کسی راه حلی به نظرش می‌رسه بگه ممون میشم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در 2 ساعت قبل، mrnazari گفته است :

سلام دوستان

یه موضوعی بدجور ذهن منو درگیر خودش کرده

اونم اینه که فرض کنید ما یه متنی داریم به صورت زیر:


<display_url>
abcdefghijklmnopqrstuvwxyz
<display_resources>
<display_url>
;ERG;AGJPKKGPOK
<display_resources>
<display_url>
avaerhjhfjf
<display_resources>
<display_url>
SYNSYAERYBNYAEYBKY
<display_resources>
<display_url>
sghbactwREVY
<display_resources>
<display_url>
SRTBSYV
<display_resources>
<display_url>
ATRYBKMFDVERVYYY
<display_resources>

من می‌خوام هر چیزی که بین <display_url> و <display_resources> هستش رو به log کنم

کلی روش فکر کردم و با indexof و substring2 کلی تست گرفتم ولی به نتیجه‌ای نرسیدم و فقط اولی رو لاگ می‌کنه

اگه کسی راه حلی به نظرش می‌رسه بگه ممون میشم

سلام دوست عزیز 

از اونجایی که الگوی تکراری تو متن مورد نظر شما هست پس کارتون راحته 

خب شما باید اولا یه آرایه استرینگ تعریف کنی و با استفاده از  تابع Regex.spilet بیایی و متنت رو تیکه تیکه کنی و توی متغیر آرایه ای بریزی 

بعد بیایی و چیزی که میخوای رو ازش جدا کنی 

خب تابع Regex.spilet

این تابع میاد یه الگو ازت میگیره و یه متن 

بعد متن مورد نظر رو طبق الگویی که بهش میدی برات تیکه تیکه میکنه 

برای شما باید اینطوری تیکه تیکه کنید : 

	
''''''''''''''''Regex.Split("الگو "," matn ")

Dim st() As String
	For i = 0 To 6 
		st() = Regex.Split("<display_resources>","text")    'text همون متن مورد نظر شماست 
	Next

خب با این کار متن شمت تیکه تیکه میشه ولی همچنان اون قسمت <display_url> بین متن هاتون هست 

خب الان با استفاده از substring میتونید اون تیکه رو هم حذف کنید 

یعنی کد کلی شما میشه اینطوری 

	Dim st() As String
	Dim str As String
	For i = 0 To 6 
		st() = Regex.Split("<display_resources>","text")
		str = st(i).SubString(12)
          Log(str)
	Next

الان  فقط متن های داخل اون دو عبارت دلخواه شما لاگ میشه 

به همین سادگی به همین خوشمزگی  

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 7 ساعت قبل، sbr گفته است :

سلام دوست عزیز 

از اونجایی که الگوی تکراری تو متن مورد نظر شما هست پس کارتون راحته 

خب شما باید اولا یه آرایه استرینگ تعریف کنی و با استفاده از  تابع Regex.spilet بیایی و متنت رو تیکه تیکه کنی و توی متغیر آرایه ای بریزی 

بعد بیایی و چیزی که میخوای رو ازش جدا کنی 

خب تابع Regex.spilet

این تابع میاد یه الگو ازت میگیره و یه متن 

بعد متن مورد نظر رو طبق الگویی که بهش میدی برات تیکه تیکه میکنه 

برای شما باید اینطوری تیکه تیکه کنید : 


	
''''''''''''''''Regex.Split("الگو "," matn ")

Dim st() As String
	For i = 0 To 6 
		st() = Regex.Split("<display_resources>","text")    'text همون متن مورد نظر شماست 
	Next

خب با این کار متن شمت تیکه تیکه میشه ولی همچنان اون قسمت <display_url> بین متن هاتون هست 

خب الان با استفاده از substring میتونید اون تیکه رو هم حذف کنید 

یعنی کد کلی شما میشه اینطوری 


	Dim st() As String
	Dim str As String
	For i = 0 To 6 
		st() = Regex.Split("<display_resources>","text")
		str = st(i).SubString(12)
          Log(str)
	Next

الان  فقط متن های داخل اون دو عبارت دلخواه شما لاگ میشه 

به همین سادگی به همین خوشمزگی  

خیلی ممنون از شما

الان امتحان می‌کنم ایشالا که جواب بده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...