When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles [1.x] [2.0]
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips
Search

Sections:
Book Reviews
Sample Chapters
Commonly Asked Message Board Questions
Headlines from ASPWire.com
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
Web Hosts
XML Info
Information:
Advertise
Feedback
Author an Article
Technology Jobs

















internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
ASP ASP.NET ASP FAQs Message Board Feedback ASP Jobs
Print this page.

Windows Systems Administrator
Jupitermedia
US-CT-Darien

Justtechjobs.com Post A Job | Post A Resume

Published: Sunday, May 09, 1999

Parsing with join and split


join and split are two useful functions for string parsing. In short, join takes a single dimensional array and concatenates it into a string, while split takes a string and splits it up into a one dimensional array.

- continued -

join returns a string, and is called as follows:

join(list[, delimiter])

List is the single dimensional array that you want to have all of its members concatenated. Delimiter is optional (" " by default), and specifies what delimiter you want between each element from the array in the string. I know this may sound a bit confusing, so let's take a look at an example.

Dim OneDimArray(5)
OneDimArray(0) = "Hello,"
OneDimArray(1) = "my"
OneDimArray(2) = "name"
OneDimArray(3) = "is"
OneDimArray(4) = "Bob!"

Dim strSentence
strSentence = join(OneDimArray)

The above code would set strSentence to "Hello, my name is Bob!". If we changed strSentence = join(OneDimArray) to strSentence = join(OneDimArray, ","), strSentence would be "Hello,,my,name,is,Bob!" The delimiter (in the former case " ", the default, in the latter case ",") simply specifies what character(s) to put between each element from the list array. If you want no character(s) between the elements, simply execute strSentence = join(OneDimArray, ""), which would set strSentence to "Hello,mynameisBob!"

split is the inverse of join. split takes a string and splits it up into a single dimensional array. split, then, returns a single dimensional array, and is called as follows:

split(String Expression[, delimiter[, count[, compare]]])

The only required parameter is the string expression you want to split up. Delimiter is optional, defaulting to " ". Count is the number of substrings you want to return, while compare decides how to compare substrings. (I won't discuss compare any further; for full information on split, visit this page.)

Again, this may all sound a bit confusing, so let's look at an example.

Dim strSentence
strSentence = "Hello, my name is Bob!"

Dim OneDimArray
OneDimArray = split(strSentence)

The above code with create a one dimensional array stored in OneDimArray with the following elements: "Hello,","my","name","is","Bob!". Let's say that we only wanted three elements in OneDimArray. We could limit the number of substrings using the count parameter. If we simply issues:

Dim strSentence
strSentence = "Hello, my name is Bob!"

Dim OneDimArray
OneDimArray = split(strSentence, " ", 3)

we would accomplish our task, having OneDimArray's elements as follows: "Hello,", "my","name is Bob!". If we wanted to use the comma as a delimiter, that could easily be accomplished by performing OneDimArray = split(strSentence,","), which would set OneDimArray's elements to: "Hello","my name is Bob!".

Hopefully you can clearily see that join and split are inverses of one another (both in the layman's sense and in a mathematical sense). For example, we can do:

Dim strSentence, strCopy
strSentence = "Hello, my name is Bob!"
strCopy = join(split(strSentence))

strCopy and strSentence are identical here. Pretty neat, eh?

You may be asking yourself, "OK, split and join sure are neat, but what the heck are some useful applications for the two?" Well, I'm glad you asked. At ASPMessageboard.com, I manage the advertisers using a text file with delimiters. The text file looks like:

Advertiser Name
Advertiser URL
Advertiser Category
Banner ID
Comment
*
Advertiser Name
Advertiser URL
Advertiser Category
Banner ID
Comment
*
Advertiser Name
Advertiser URL
Advertiser Category
Banner ID
Comment
*
...

Whenever I need access to any record in this delimited text file, I first use the FileSystemObject to read in the entire text file into one string. I then issue a recArray = split(str,"*"), to get an array with each element a single record. Finally, to get each element in the record, I issue another split, elementArray = split(recArray(i),chr(13)), which stores each element of the ith record in elementArray. Pretty slick, eh? I use join to build the structure back up if needed. (If you are unfamiliar with the FileSystemObject, I recommend reading Ryan S.'s, Reading & Writing Text Files using ASP.)

Well, I hope this has been educational! If you have any questions, I suggest you post them on ASPMessageboard.com. Have a great day!


Windows Internet Technology | ASP.NET [1.x] [2.0] | ASPMessageboard.com | ASPFAQs.com | Advertise | Feedback | Author an Article



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES