Page 1 of 2
การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Dec 25, 2012 2:26 pm
by tstc79tt
คือผม มี ชื่อไฟล์ประมาณนี้ครับ
nspluginwrapper-1.4.4-1.el6_3.x86_64.rpm
nspluginwrapper 1.4.4-1 el6_3 x86_64
ผมได้ทดลองแล้วแต่ก็ทำได้แค่ ตัดชื่อออกมาอันเดี่ยวเท่านั้นเองครับ
ในไฟล์มีชื่อให้ทดลองยุครับ
nspluginwrapper-1.4.4-1.el6_3.x86_64
kbd-1.15-11.el6.noarch
boost-regex-1.41.0-11.el16_1.2.x86_64
nspluginwrapper-1.3.0-14.el6_3.x86_64
kernel-debuginfo-common-2.6.18-308.13.1.el5.x86_64
มันจะต่างๆกันในเรื่องของ จำนวนตัวอักษร และ แพทเทิรน ใน ตัวเลขทษนิยมตรงกลาง เลยทำให้ยากมากสำหรับผม
ขอคำแนะนำด้วยครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Dec 25, 2012 2:55 pm
by snasui
ลองตามนี้ครับ
- เซลล์ G5 คีย์สูตร
=IF(ISNUMBER(FIND(".x86",$C5)),MID($C5,FIND(".x86",$C5)+1,255),"")
Enter > Copy ลงด้านล่าง
- เซลล์ F5 คีย์สูตร
=SUBSTITUTE(SUBSTITUTE(MID($C5,FIND(".el",$C5),4),G5,""),".","")
Enter > Copy ลงด้านล่าง
- เซลล์ E5 คีย์สูตร
=MID($C5,MATCH(TRUE,ISNUMBER(MID($C5,ROW(INDIRECT("1:"&LEN($C5))),1)+0),0),FIND($F5,$C5)-MATCH(TRUE,ISNUMBER(MID($C5,ROW(INDIRECT("1:"&LEN($C5))),1)+0),0)-1)
Ctrl+Shift+Enter > Copy ลงด้านล่าง
- เซลล์ D5 คีย์สูตร
=LEFT(C5,FIND(E5,C5)-2)
Enter > Copy ลงด้านล่าง
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น
{=YourFormulas(...)
} ปีกกานี้คีย์เข้าไปเองไม่ได้
ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Dec 25, 2012 4:08 pm
by tstc79tt
หากผมแก้สูตรใดสูตร หนึ่งต้องแก้สูตรทีเหลือทั้งหมดเลยใช่ไหมครับ เห็นมันเกี่ยวเนื่องกันหมด
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Dec 25, 2012 4:12 pm
by snasui
สูตรสำหรับแยกข้อมูลลักษณะนี้ควรเกี่ยวข้องกันจะได้เป็น Dynamic สำหรับการแก้สูตรจะต้องทราบว่าแก้อะไรจึงจะบอกได้ว่ากระทบกับเซลล์อื่นหรือไม่ครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Dec 25, 2012 4:45 pm
by tstc79tt
=SUBSTITUTE(SUBSTITUTE(MID($C5,FIND(".el",$C5),4),G5,""),".","")
ต้องปรับแก้ยังไงหรือครับถึงจะเพิ่มจาก el6 เป็น(ให้มีทศนิยม) el6_1.2 เข้ามาครับ ผมลองปรับๆมั่วดูเองแล้วมันไม่ขึ้น
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Dec 25, 2012 4:47 pm
by snasui
แนบไฟล์และยกตัวอย่างพร้อมคำตอบที่ต้องการมาใหม่ครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Wed Dec 26, 2012 9:23 am
by tstc79tt
นี่ครับ ตรงส่วนที่บอก el ให้บอกตัวเลขตามหลังทั้งหมด
แล้วก็
หากต้องการ
ให้โชว์ ค่าสตริงหลังจาก " . " ตัวสุดท้าย จากทางด้านขวา ครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Wed Dec 26, 2012 10:09 am
by snasui
tstc79tt wrote:เช่นอันด้านล่างนี้ครับ อยากให้มันออกมาเป็น el6_1.2
ควรจะบอกเงื่อนไขมาทั้งหมดว่าดูเงื่อนไขใดถึงให้ดึงตัวเลขตามตัวอย่างคืออยู่หลังเครื่องหมาย _ มาด้วย สำหรับตัวอื่น ๆ ดึงมาเช่นนี้หรือไม่ หรือเฉพาะตัวนี้ตัวเดียว ฯลฯ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Wed Dec 26, 2012 10:36 am
by tstc79tt
ครับ เช่น boost-regex-1.41.0-11.el16_1.2.x86_64
kbd-1.15-11.el6.noarch
ประมาณนี้ครับ
แบ่งช่วงออกมาประมาณนี้
boost-regex :::::: 1.41.0-11 :::::: el16_1.2:::::: x86_64
ดึงมาด้วยครับ เพราะเหมือนว่าเลขดังกล่าวเป็นตัวบอก เวอชั่น el ครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Wed Dec 26, 2012 10:47 am
by snasui
จากไฟล์ที่แนบมาล่าสุด ลองตามด้านล่างครับ
- เซลล์ H10 คีย์เพื่อตัดชุดหลังสุดของข้อความ
=TRIM(RIGHT(SUBSTITUTE(C10,".",REPT(" ",255)),255))
Enter > Copy ลงด้านล่าง
- เซลล์ G10 คีย์สูตรเพื่อตัดชุดที่สามของข้อความ
=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),".el",REPT(" ",255)&"el"),255))
Enter > Copy ลงด้านล่าง
- เซลล์ E10 คีย์สูตรเพื่อตัดชุดที่สองของข้อความ
=MID(SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),"."&G10,""),FIND(".",SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),"."&G10,""))-1,255)
Enter > Copy ลงด้านล่าง
- เซลล์ D10 คีย์สูตรเพื่อตัดชุดแรกของข้อความ
=LEFT(C10,FIND(E10,C10)-2)
Enter > Copy ลงด้านล่าง
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Wed Dec 26, 2012 10:59 am
by tstc79tt
ซับซ้อน มากเลยน่ะครับเนี่ย :O ลองอ่านตามแล้วงงๆตาไม่ทันเลยหละครับ
ขอบคุณมากๆครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Jan 22, 2013 12:49 am
by tstc79tt
ผม ขออนุญาติ ขุดอันนี้ขึ้นมาน่ะครับ เนื่องจาก ผมได้ใช้ทำงานไปสักพัก ผมเจอ สิ่งที่ต้องแก้แล้วครับจึงอยากเรียนถามผู้รู้มาช่วยผมแก้ที่ (ผมพยายามแก้เองแล้วครับ เท่าที่ผมจะรู้และทำได้ ผสมฟั่งชั่นที่เข้าใจต่างๆรวมกัน T^T แต่ผลที่ได้แค่เกือบ)
ปัญหาคือ
boost-regex-1.41.0-11.el16_1.2.x86_64
แบ่งช่วงออกมาประมาณนี้
boost-regex :::::: 1.41.0-11 :::::: el16_1.2:::::: x86_64
แต่หาก เลข เวอชั่นนั้นหลักแรกนั้นเป็น เลข 2 หลัก เช่น 10.41.0-11
จะทำให้การแบ่ง เพี้ยนครับ เช่นกลายเป็น
boost-regex-1 :::::: 0.41.0-11 :::::: el16_1.2:::::: x86_64
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Jan 22, 2013 8:44 am
by snasui
จากสูตรในข้อ 3 ด้านล่าง
snasui wrote:เซลล์ E10 คีย์สูตรเพื่อตัดชุดที่สองของข้อความ
=MID(SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),"."&G10,""),FIND(".",SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),"."&G10,""))-1,255)
Enter > Copy ลงด้านล่าง
เปลี่ยนสูตรเป็น
=MID(SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),"."&G10,""),
LOOKUP(9.99999999999999E+307,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},C10&"01234567890"))),255)
Enter > Copy ลงด้านล่าง
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Jan 22, 2013 9:43 am
by tstc79tt
glibc-10.1:::::::::: 2-1.7 ::::: el6:::::::::::::: x86_64
boost-rege ::::::::::x-1.41.0-11::::: el16_1.2 ::::: x86_64
มันเป็นงี้อ่ะครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Jan 22, 2013 9:52 am
by snasui
tstc79tt wrote:glibc-10.1:::::::::: 2-1.7 ::::: el6:::::::::::::: x86_64
boost-rege ::::::::::x-1.41.0-11::::: el16_1.2 ::::: x86_64
มันเป็นงี้อ่ะครับ
อย่าลืมกฎข้อ 1 ครับ
แนบไฟล์ตัวอย่างข้อมูลและคำตอบที่ต้องการมาด้วยเพื่อสะดวกในการตอบครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Jan 22, 2013 9:58 am
by tstc79tt
> < ครับ เดี่ยวรวบรวมจัดตำแหน่งสักครู่ครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Jan 22, 2013 10:06 am
by snasui
tstc79tt wrote:> < โอเครครับ เดะรวบรวมจัดตำแหน่งสักครู่ครับ
ถ้าโพสต์มาแบบนี้อีกรอบผมลบสมาชิกทิ้งนะครับ คุณทำผิดกฎข้อที่ 1 ครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Jan 22, 2013 10:12 am
by tstc79tt
อาจารย์สูตรอาจารย์ถูกแล้วครับ แต่เป็นเพราะผมดันไปปรับสูตรก่อนหน้านี้ มันเลยทำให้ผิดเป็นทอดๆครับ
ขอบคุณครับ
ผมลืมคราบบเดี่ยวแก้ครับ
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Jan 22, 2013 10:18 am
by snasui
tstc79tt wrote:อาจารย์สูตรอาจารย์ถูกแล้วครับ แต่เป็นเพราะผมดันไปปรับสูตรก่อนหน้านี้ มันเลยทำให้ผิดเป็นทอดๆครับ
ขอบคุณครับ
ผมลืม
คราบบเดี่ยวแก้ครับ
Banned เรียบร้อยแล้วครับเนื่องจากผิดกฎหลายรอบ ไม่ให้ความสำคัญกับคำเตือน
Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน
Posted: Tue Jan 22, 2013 10:37 am
by earthapeking
snasui wrote:tstc79tt wrote:อาจารย์สูตรอาจารย์ถูกแล้วครับ แต่เป็นเพราะผมดันไปปรับสูตรก่อนหน้านี้ มันเลยทำให้ผิดเป็นทอดๆครับ
ขอบคุณครับ
ผมลืม
คราบบเดี่ยวแก้ครับ
Banned เรียบร้อยแล้วครับเนื่องจากผิดกฎหลายรอบ ไม่ให้ความสำคัญกับคำเตือน
ผมขอโทษจริงครับอาจารย์
ขอความที่ผมกำลังจะโพสก่อนโดนแบนครับแต่ดันโพสไม่ขึ้นแบนไปแล้ว
""
ขอโทษครับ ผมไม่ได้ตั้งใจ รีบพิมไปหน่อยครับ ปกติผมไม่พิมผิดขนาดนี้ครับบบ ""
กำลังedit ข้อความอยู่เลยครับ
ขอบคุณสำหรับความรู้ตลอด 3 เดือน ครับ บอร์ดนี้ ผมยกให้ดีที่สุดเท่าที่ผมเคยเป็นสมาชิกเกี่ยวกับบอร์ดความรู้วิชาการเลยครับ
ลาหละครับ -/|\-