กลับไปหน้าบทความ

อ่าน 2 นาที

สตริงว่าง

ในทฤษฎีภาษาเชิงรูปธรรมสตริงว่างหรือที่รู้จักกันในชื่อคำว่างหรือสตริงว่าง คือ สตริงเดียวที่มีความยาวเป็นศูนย์

สตริงว่าง

ในทฤษฎีภาษาเชิงรูปธรรมสตริงว่างหรือที่รู้จักกันในชื่อคำว่างหรือสตริงว่าง คือ สตริงเดียวที่มีความยาวเป็นศูนย์

ทฤษฎีเชิงรูปธรรม

ตามหลักการแล้ว สตริงคือลำดับอักขระ ที่จำกัดและเรียงลำดับ เช่น ตัวอักษร ตัวเลข หรือช่องว่าง สตริงว่างเป็นกรณีพิเศษที่ลำดับมีความยาวเป็นศูนย์ ดังนั้นจึงไม่มีสัญลักษณ์ใดๆ ในสตริง มีเพียงสตริงว่างเดียวเท่านั้น เพราะสตริงสองสตริงจะแตกต่างกันก็ต่อเมื่อมีความยาวต่างกันหรือมีลำดับสัญลักษณ์ต่างกันเท่านั้น ในการพิจารณาอย่างเป็นทางการ[ 1 ] สตริงว่างจะถูกแทนด้วยεหรือบางครั้งΛหรือλ

ไม่ควรสับสนระหว่างสตริงว่างกับภาษาว่างซึ่งเป็นภาษาเชิงรูปธรรม (กล่าวคือ เซตของสตริง) ที่ไม่มีสตริงใดๆ อยู่เลย แม้แต่สตริงว่างก็ตาม

สตริงว่างมีคุณสมบัติหลายประการ:

ในไวยากรณ์ที่ไม่ขึ้นกับบริบทกฎการผลิตที่อนุญาตให้สัญลักษณ์สร้างสตริงว่างได้เรียกว่า การผลิตแบบ ε และสัญลักษณ์นั้นเรียกว่า "สามารถเป็นค่าว่างได้" (nullable)

ใช้ในภาษาโปรแกรม

ในภาษาโปรแกรม ส่วนใหญ่ คำว่า "สตริง" มักหมายถึงอินสแตนซ์ของชนิดข้อมูลดังนั้นจึงเป็นแนวคิดที่แตกต่างจากในทฤษฎีเชิงรูปธรรม สตริงเหล่านี้มักถูกจัดเก็บไว้ในที่อยู่หน่วยความจำ (ตำแหน่ง) ที่แตกต่างกัน และจึงมีเอกลักษณ์เฉพาะตัว ดังนั้น ตัวแทนของสตริงเชิงรูปธรรมเดียวกัน (เช่น สตริงว่าง) อาจถูกจัดเก็บไว้ในสองตำแหน่งขึ้นไปในหน่วยความจำ และสามารถนำมาใช้เป็นชื่อของสตริงว่างเชิงรูปธรรมได้

ด้วยวิธีนี้ อาจมีตัวแทนของสตริงว่างหลายตัวในหน่วยความจำ ซึ่งแตกต่างจากคำจำกัดความทางทฤษฎีอย่างเป็นทางการที่ว่ามีสตริงว่างที่เป็นไปได้เพียงตัวเดียวเท่านั้น อย่างไรก็ตาม "ฟังก์ชันเปรียบเทียบสตริง" จะแสดงให้เห็นว่าตัวแทนเหล่านี้ทั้งหมดเท่ากัน

แม้แต่สตริงที่มีความยาวเป็นศูนย์ก็อาจต้องการหน่วยความจำในการจัดเก็บ ขึ้นอยู่กับรูปแบบที่ใช้ ในภาษาโปรแกรมส่วนใหญ่ สตริงว่างจะแตกต่างจากค่าอ้างอิงว่าง (หรือตัวชี้ว่าง) เพราะค่าอ้างอิงว่างชี้ไปยังไม่มีอะไรเลย ไม่แม้แต่สตริงว่าง สตริงว่างเป็นสตริงที่ถูกต้อง ซึ่งการดำเนินการกับสตริงส่วนใหญ่ควรใช้งานได้ ภาษาบางภาษาจัดการกับสิ่งต่อไปนี้บางส่วนหรือทั้งหมดในลักษณะที่คล้ายคลึงกัน: สตริงว่าง ค่าอ้างอิงว่าง จำนวนเต็ม 0 จำนวนทศนิยม 0 ค่าบูลีนfalse อักขระASCII NUL หรือค่าอื่นๆ ที่คล้ายกัน

โดยปกติแล้ว สตริงว่างจะถูกแสดงในลักษณะเดียวกับสตริงอื่นๆ ในการใช้งานที่มีอักขระสิ้นสุดสตริง ( สตริงที่ลงท้ายด้วยค่าว่างหรือบรรทัดข้อความธรรมดา) สตริงว่างจะถูกระบุโดยการใช้อักขระสิ้นสุดนั้นทันที

ในภาษาโปรแกรมต่างๆ มี ฟังก์ชัน เมธอด มาโคร หรือสำนวน ที่แตกต่างกัน สำหรับการตรวจสอบว่าสตริงว่างหรือไม่

การแสดงผลแบบ λ ภาษาโปรแกรม
""C , C# , C++ , Go , Haskell , Java , JavaScript , Julia , Lua , M , Objective-C (ในรูปแบบสตริง C), OCaml , Perl , PHP , PowerShell , Python , Ruby , Scala , Standard ML , Swift , Tcl , Visual Basic .NET
''APL , Delphi , JavaScript , Lua , MATLAB , Pascal , Perl , PHP , PowerShell , Python , R , Ruby , Smalltalk , SQL
character(0)R [ 3 ]
{'\0'}C , C++ , Objective-C (ในรูปแบบสตริง C)
new String()(จากjava.lang.StringหรือSystem.String) Java , C#
string()(จากstd::string) ซี++
""sC++ (ตั้งแต่มาตรฐานปี 2014 )
@""ออบเจ็กทีฟซี (ในฐานะNSStringวัตถุคงที่)
[NSString string]ออบเจ็กทีฟซี (ในรูปแบบอ็อบเจ็กต์ใหม่NSString)
q(), qq()เพิร์ล
str()[ 4 ]""""""r""u""ไพธอน
%{}%()ทับทิม
String::new()(จากstd::string::String) [ 5 ]สนิม
String.Empty(จากSystem.String) C# , Visual Basic .NET
String.make 0 '-'โอแคมล์
{}ทีซีแอล
[[]]ลัว
“”

‘’„”‚‘[ 7 ]

พาวเวอร์เชลล์
.byte 0

.ascii "".asciz ""

เอ64

การแสดงผลของสตริงว่าง

สตริงว่างเป็นการแสดงค่าศูนย์ ที่ถูกต้องตามหลักไวยากรณ์ ในระบบเลขฐาน (ไม่ว่าจะเป็นฐานใดก็ตาม) ซึ่งไม่มีเลขศูนย์นำหน้าเนื่องจากสตริงว่างไม่มีรูปแบบการแสดงผลที่เป็นมาตรฐานนอกเหนือจากทฤษฎีภาษาเชิงรูปธรรม จึงนิยมแทนเลขศูนย์ด้วยตัวเลขทศนิยม0เพียง ตัวเดียว

พื้นที่หน่วยความจำที่เติมด้วยศูนย์ ซึ่งถูกตีความว่าเป็นสตริงที่ลงท้ายด้วยค่าว่างจะเป็นสตริงว่างเปล่า

บรรทัดว่างจะแสดงสตริงว่าง ซึ่งอาจเกิดขึ้นจาก อักขระขึ้นบรรทัดใหม่ (EOL) สองตัวติดกัน ดังที่มักเกิดขึ้นในไฟล์ข้อความบางครั้งมีการใช้ในโปรแกรม ประมวลผลข้อความเพื่อแยกย่อหน้าเช่น ในMediaWiki

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Empty_string&oldid=1350342059 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ สตริงว่าง

ในทฤษฎีภาษาเชิงรูปธรรมสตริงว่างหรือที่รู้จักกันในชื่อคำว่างหรือสตริงว่าง คือ สตริงเดียวที่มีความยาวเป็นศูนย์

ทฤษฎีเชิงรูปธรรม

ตามหลักการแล้ว สตริงคือลำดับ อักขระ ที่จำกัดและเรียงลำดับ เช่น ตัวอักษร ตัวเลข หรือช่องว่าง สตริงว่างเป็นกรณีพิเศษที่ลำดับมีความยาวเป็นศูนย์ ดังนั้นจึงไม่มีสัญลักษณ์ใดๆ ในสตริง มีเพียงสตริงว่างเดียวเท่านั้น...

ใช้ในภาษาโปรแกรม

ใน ภาษาโปรแกรม ส่วนใหญ่ คำว่า "สตริง" มักหมายถึงอินสแตนซ์ของ ชนิดข้อมูล ดังนั้นจึงเป็นแนวคิดที่แตกต่างจากในทฤษฎีเชิงรูปธรรม สตริงเหล่านี้มักถูกจัดเก็บไว้ใน ที่อยู่หน่วยความจำ (ตำแหน่ง) ที่แตกต่างกัน และจึงมีเอกลักษณ์เฉพาะตัว ดังนั้น...

การแสดงผลของสตริงว่าง

สตริงว่างเป็นการแสดง ค่าศูนย์ ที่ถูกต้องตามหลักไวยากรณ์ ใน ระบบเลขฐาน (ไม่ว่าจะเป็นฐานใดก็ตาม) ซึ่งไม่มี เลขศูนย์นำหน้า เนื่องจากสตริงว่างไม่มีรูปแบบการแสดงผลที่เป็นมาตรฐานนอกเหนือจากทฤษฎีภาษาเชิงรูปธรรม จึงนิยมแทนเลขศูนย์ด้วย ตัวเลขทศนิยม 0 เพียง ตัวเดียว