473,395 Members | 1,458 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

A more useful Split?

mb
I was wondering if there is an easy, more useful Split function that will
split with a string delimiter like "<>" or "////"?
Nov 16 '05 #1
10 3501
Hi mb:

You can use the Split method of the Regex class:
http://msdn.microsoft.com/library/de...plitTopic3.asp

--
Scott
http://www.OdeToCode.com

On Sat, 25 Sep 2004 10:07:21 -0600, "mb" <mm@hotmail.com> wrote:
I was wondering if there is an easy, more useful Split function that will
split with a string delimiter like "<>" or "////"?


Nov 16 '05 #2
"mb" <mm@hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
I was wondering if there is an easy, more useful Split function that will
split with a string delimiter like "<>" or "////"?


using System.Text.RegularExpressions;

string strTest = "One<>Two<>Three<>Four<>Five";
string[] astrTest = Regex.Split(strTest, "<>");


Nov 16 '05 #3
mb
THANKS!!

By the way, what does Regex stant for. I keep calling it "Rejects" :-)

"Mark Rae" <ma**@mark-N-O-S-P-A-M-rae.co.uk> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
"mb" <mm@hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
I was wondering if there is an easy, more useful Split function that will
split with a string delimiter like "<>" or "////"?


using System.Text.RegularExpressions;

string strTest = "One<>Two<>Three<>Four<>Five";
string[] astrTest = Regex.Split(strTest, "<>");

Nov 16 '05 #4

"mb" <mm@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
THANKS!!

By the way, what does Regex stant for. I keep calling it "Rejects" :-)

REGular EXpressions
"Mark Rae" <ma**@mark-N-O-S-P-A-M-rae.co.uk> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
"mb" <mm@hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
>I was wondering if there is an easy, more useful Split function that
>will
> split with a string delimiter like "<>" or "////"?


using System.Text.RegularExpressions;

string strTest = "One<>Two<>Three<>Four<>Five";
string[] astrTest = Regex.Split(strTest, "<>");


Nov 16 '05 #5
mb
Is this faster than the string.Split method?
"Daniel O'Connell [C# MVP]" <onyxkirx@--NOSPAM--comcast.net> wrote in
message news:eI*************@TK2MSFTNGP10.phx.gbl...

"mb" <mm@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
THANKS!!

By the way, what does Regex stant for. I keep calling it "Rejects" :-)


REGular EXpressions
"Mark Rae" <ma**@mark-N-O-S-P-A-M-rae.co.uk> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
"mb" <mm@hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
>I was wondering if there is an easy, more useful Split function that
>will
> split with a string delimiter like "<>" or "////"?

using System.Text.RegularExpressions;

string strTest = "One<>Two<>Three<>Four<>Five";
string[] astrTest = Regex.Split(strTest, "<>");



Nov 16 '05 #6
You could implement your own splitting function.
Here's one I have done on a hurry that is ugly but working:

public static string[] StringSplit(string input, string delimiter)
{
ArrayList arr = new ArrayList();

int pos = -1;
int acheived = 0;
bool founddelimiter = false;
StringBuilder splitted = new StringBuilder();
StringBuilder temp = new StringBuilder();

while ( pos++ < input.Length -1 )
{
if ( input[pos] != delimiter[acheived] )
{
founddelimiter = false;
splitted.Append(temp.ToString());
splitted.Append( input[pos] );
acheived = 0;
temp.Length = 0;
}
else
{
if ( acheived == delimiter.Length - 1 )
{
temp.Length = 0;
arr.Add( splitted.ToString() );
founddelimiter = true;
splitted.Length = 0;
acheived = 0;
}
else
{
temp.Append(input[pos]);
acheived++;
}
}
}

if ( splitted.Length > 0 )
arr.Add( splitted.ToString() );

if ( founddelimiter )
arr.Add("");

return (string[]) arr.ToArray(typeof(string));

}

"mb" <mm@hotmail.com> wrote in message
news:#E**************@TK2MSFTNGP10.phx.gbl...
I was wondering if there is an easy, more useful Split function that will
split with a string delimiter like "<>" or "////"?

Nov 16 '05 #7
"mb" <mm@hotmail.com> wrote in message
news:OK**************@TK2MSFTNGP12.phx.gbl...
Is this faster than the string.Split method?


I doubt it, but you don't have a lot of choice in this instance because the
string.Split method won't accept multiple characters to split on. Your only
other option is to write your own splitting function...
Nov 16 '05 #8
"mb" <mm@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
THANKS!!

By the way, what does Regex stant for. I keep calling it "Rejects" :-)


The clue is in the namespace...

using System.Text.RegularExpressions;
Nov 16 '05 #9
mb,
In addition to the other comments.

There are three Split functions in .NET:

Use Microsoft.VisualBasic.Strings.Split if you need to split a string based
on a specific word (string). It is the Split function from VB6.

Use System.String.Split if you need to split a string based on a collection
of specific characters. Each individual character is its own delimiter.

Use System.Text.RegularExpressions.RegEx.Split to split based
on matching patterns.
By referencing the Microsoft.VisualBasic assembly in C# you can use the
Strings.Split function to split a string based on a word.

Something like:
string str = "one<>two<>three"; string [] fields = Strings.Split(str, "<>", -1,
CompareMethod.Binary);
Hope this helps
Jay
"mb" <mm@hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...I was wondering if there is an easy, more useful Split function that will
split with a string delimiter like "<>" or "////"?

Nov 16 '05 #10
"mb" <mm@hotmail.com> wrote in message news:<OK**************@TK2MSFTNGP12.phx.gbl>...
Is this faster than the string.Split method?


Probably not, but is far more versatile.
Nov 16 '05 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
by: Carlos Ribeiro | last post by:
Hi all, While writing a small program to help other poster at c.l.py, I found a small inconsistency between the handling of keyword parameters of string.split() and the split() method of...
9
by: Will McGugan | last post by:
Hi, I'm curious about the behaviour of the str.split() when applied to empty strings. "".split() returns an empty list, however.. "".split("*") returns a list containing one empty string. ...
2
by: SL_McManus | last post by:
Hi All; I am fairly new to Perl. I have a file with close to 3000 lines that I would like to split out in a certain way. I would like to put the record type starting in column 1 for 2 spaces,...
6
by: Senthil | last post by:
Code ---------------------- string Line = "\"A\",\"B\",\"C\",\"D\""; string Line2 = Line.Replace("\",\"","\"\",\"\""); string CSVColumns = Line2.Split("\",\"".ToCharArray());
19
by: David Logan | last post by:
We need an additional function in the String class. We need the ability to suppress empty fields, so that we can more effectively parse. Right now, multiple whitespace characters create multiple...
4
by: Itzik | last post by:
can i split this string string str = "aa a - bb-b - ccc" with this delimiter string del = " - " i want recieve 3 items : "aa a" , "bb-b" , "ccc"
14
by: Ron | last post by:
Hello, I am trying to parse a string on the newline char. I guess vbCrLf is a string constant. How can I parse my string - data - on the newline char? .... data += ASCII.GetString(buffer, 0,...
3
by: Ben | last post by:
Hi I am creating a dynamic function to return a two dimensional array from a delimeted string. The delimited string is like: field1...field2...field3... field1...field2...field3......
5
by: kurt sune | last post by:
The code: Dim aLine As String = "cat" & vbNewLine & "dog" & vbNewLine & "fox" & vbNewLine Dim csvColumns1 As String() = aLine.Split(vbNewLine, vbCr, vbLf) Dim csvColumns2 As String() =...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.