الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف استطيع استخلاص هذا النص ؟

بدأه ramysarwat في 25 يوليو 2008 · 3 رد · 534 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كيف استطيع اتخلاص هذا النص من بين <scribt> و <scribt/>

<scribt> test test test 123 <scribt/>

بحيث يصبح

test test test 123

#2

تفضل

Dim Q As String 'النص كامل
Dim F As String ' نص البداية
Dim E As String 'نص النهاية
Dim B As Integer 'بداية الجملة المطلوبة
Dim C As Integer 'نهاية الجملة المطلوبة
Dim G As String 'نص الجملة المطلوبة
Dim T As Integer

Q = "<scribt> test test test 123 <scribt/>"
F = "<scribt>"
E = "<scribt/>"
For T = 1 To Len(Q)
	If Mid(Q, T, Len(F)) = F Then B = T + Len(F)
	If Mid(Q, T, Len(E)) = E Then C = T - 1: Exit For
Next T
G = Mid(Q, B, C - B)
MsgBox G

كن كالنخيل عن الأحقاد مرتفعا .. يرمى بصخر فيرمى أطيب الثمر

#3

الف شكر اخى العزيز تم تجربة الكود بنجاح

لكن كيف يكون الكود اذا كان هناك اكثر من نص مطلوب استخلاصة مثل

<scribt> test2 <scribt/> <scribt> test3 <scribt/><scribt> test1 <scribt/>

#4

تفضل

Dim Q As String
Dim F As String
Dim E As String
Dim B As Integer
Dim C As Integer
Dim G As String
Dim T As Integer
Dim N As Integer
N = 1
Q = "<scribt> test2 <scribt/> <scribt> test3 <scribt/><scribt> test1 <scribt/>"
F = "<scribt>"
E = "<scribt/>"
20:
If N >= Len(Q) Then GoTo 30
For T = N To Len(Q)
	If Mid(Q, T, Len(F)) = F Then B = T + Len(F)
	If Mid(Q, T, Len(E)) = E Then C = T - 1: N = T + Len(E): Exit For
Next T
G = G & Mid(Q, B, C - B) & vbCrLf
GoTo 20
30:
MsgBox G

كن كالنخيل عن الأحقاد مرتفعا .. يرمى بصخر فيرمى أطيب الثمر

مواضيع مشابهة