שליפת מספר

Deviation

New member
שליפת מספר

בוקר טוב יש לי מחרוזת שנראית ככה:
sVar = "7,12,15,99,102,245";​
מספרים (אני לא יודע מה האורך שלהם, דו ספרתיים, תלת ספרתיים ולמעלה מזה אף) שמופרדים בפסיקים. אני לא יודע כמה מספרים כאלו יש. איך אני שולף את המספר הימני ביותר (בדוגמא הזו 245) ? תודה
 

roee

New member
ככה

var sVar = new String() sVar="7,12,15,99,102,245"; Response.Write ( sVar.substring (sVar.lastIndexOf(",")+1,sVar.length ))​
 

shachr23

New member
במידה ואתה כותב ב VB אז..

sVar="7,12,15,99,102,245" Dim x Dim flag : flag = 1 For x=1 to len(sVar) If inStr(mid(sVar,x,1),",")>0 Then flag = x Next response.write mid(sVar,flag+1)​
או אפשרות נוספת פשוטה יותר:
if not sVar="" Then sVar = split(sVar,",") response.write sVar(ubound(sVar,1))​
בהצלחה.
 

freak2100

New member
ואם אתה בכל זאת כותב בJScript

ורוצה להשתמש באפשרות השנייה, זה ככה:
sVarArr = sVar.split(","); Response.Write(sVarArr[0]);​
 

Deviation

New member
זה ייתן את המספר הראשון (שמאלי)

ולא את האחרון כמו שרציתי (הימני ביותר)
 

freak2100

New member
אה, נו, מה הבעייה?

sVarArr = sVar.split(","); Response.Write(sVarArr[sVarArr.length-1]);​
 

Deviation

New member
../images/Emo41.gif שאלה נוספת - רקורסיה ב Jscript

יש איזשהו טריק ברקורסיה ב JS? פשוט המרתי את הרקורסיה שלי ל VBS ושם זה עובד יופי. ב JS זה עובד חלקית .. אני קורא לה ככה:
fShow();​
 

freak2100

New member
תגדיר "עובד חלקית"

מה הפונקציה שלך, מה לא עובד כמו שצריך... זה לא משהו מיוחד שצריך לעשות בJSCRIPT, כנראה יש לך טעות בקוד איפשהו...
 

Deviation

New member
זה הולך ככה:

function show(index) { var subject = aCategories.getItem(2,index); Response.write("<div style=\"padding-right:20px;\">"); Response.write(subject); for (a=0;a<=aCategories.ubound(2);a++) { if (aCategories.getItem(1,a)==aCategories.getItem(0,index)) { show(a); } } Response.write("</div>"); }​
מצטער על ההזחה המפגרת שעלולה לצאת, זה בגלל תפוז
בכל מקרה, ניסיון לפורום רקורסיבי (בכוונה רקורסיבי ולא ליניארי) והוא מציג רק את העליון בכל פתיל: הודעה א הודעה ב הודעה ג למרות שיש נניח גם הודעה ב1, ככה: הודעה א הודעה ב הודעה ג הודעה ב1
 

freak2100

New member
אני לא ממש יודע מה הבעייה שלך,

לא ממש מבין את הקוד שלך, אבל בעקרון זאת לא בעייה בJScript, תבדוק אם כל הנתונים באמת מגיעים כמו שאתה חושב... בכל מקרה, משהו אחר אני רוצה להגיד לך... קודם כל, למה אתה עושה את זה בצד שרת? לא עדיף לך לעשות מכל ההודעות XML ואז לנתח אותו בצד לקוח? אתה אפילו לא צריך לרוץ על הנתונים בלולאה בשביל זה, replace עם regExp מתאים יעשה את העבודה בשורת קוד אחת... (אתה יוצר מהנתונים string שמחולק על ידי תו מוגדר שלא יכול להופיע בשום מקום אחר (למשל \n אחרי שהפכת את כל ה\nים ל<br/>ים), ואז אתה משתמש בregExp כדי להחליף כל גוש נתונים לגוש xml מתאים) דבר שני.... אם בא לך לייעל ובאמת להעביר את הסידור של הנתונים לצד לקוח.... יש לי הפתעה בשבילך - אתה לא צריך אפילו רקורסיה
זאת לולאה עם סיבוכיות של n, זאת אומרת - אתה עובר על כל הודעה פעם אחת וזהו. לפרט? או שאתה מעדיף להשאר עם השיטה הזאת?
 
למעלה