C# 字符串处理如何从字符串中获取路径和参数

发布于 2024-07-25 08:39:08 字数 204 浏览 12 评论 0原文

我有一个在路径周围带有引号的字符串,如下所示:

"C:\Program Files (x86)\Windows Media Player\wmplayer.exe" arg1 arg2

如果我使用 Text.Split(new Char[] { ' ' } , 2); 然后我得到第一个空格。

如何获取路径和参数?

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 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

悟红尘 2024-08-01 08:39:08

使用正则表达式,例如: ("".*?"")|(\S+)

所以您的代码将类似于:

Regex r = new Regex(@"("".*?"")|(\S+)"); 
MatchCollection mc = r.Matches(input);
for (int i = 0; i < mc.Count; i++) 
{
   Console.WriteLine(mc[i].Value);
}

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);
}
说谎友 2024-08-01 08:39:08

尝试在双引号上拆分 (Text.Split(new Char[] { '/"' }, 3);),然后取出该数组中的最后一个字符串并在空格上再次拆分。

string[] pathAndArgs = Text.Split(new Char[] { '/"' }, 3);
string[] args = pathAndArgs[2].Split(new Char[] { ' ' }, 2);

我可能在那里有语法错误,但你明白我的意思。

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.

沐歌 2024-08-01 08:39:08

执行 text.split 并从数组末尾返回。

var input = "C:\\blah\\win.exe args1 args2";
var array = input.split(' ');
var arg1 = array[array.length -2];
var arg2 = array[array.length -1];

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];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文