I have a string with quotes around the path as follows:
"C:\\Program Files (x86)\\Windows Media Player\\wmplayer.exe" arg1 arg2
If I use Text.Split(new Char[] { ' ' }, 2);
then I get the first space.
How to get the path and args ?
Use a regular expression like: ("".*?"")|(\\S+)
So your code would be something like:
Regex r = new Regex(@"("".*?"")|(\S+)");
MatchCollection mc = r.Matches(input);
for (int i = 0; i < mc.Count; i++)
{
Console.WriteLine(mc[i].Value);
}
Try splitting on the double quotes (Text.Split(new Char[] { '/"' }, 3);) then taking the last string in that array and splitting again on the space.
string[] pathAndArgs = Text.Split(new Char[] { '/"' }, 3);
string[] args = pathAndArgs[2].Split(new Char[] { ' ' }, 2);
I may have a syntax error in there, but you get what I mean.
Do text.split and work your way back from the end of the array.
var input = "C:\\blah\\win.exe args1 args2";
var array = input.split(' ');
var arg1 = array[array.length -2];
var arg2 = array[array.length -1];
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.