我有一个类似
的值 V = "Val1,Val2;Val3"
在这种情况下如果我需要分开" Val1,Val2"从V我正在使用这个
var newVal = V.substr(0, V.indexOf(";"));
但是这种情况对于像这样的一些价值来说是很有价值的。
V = "Val4;Val1,Val2;Val3"
任何想法如何只采取有","并删除由";"
分隔的所有其他字符答案 0 :(得分:5)
使用正则表达式
\w+,\w+
解决这个问题
function match(str){
return str.match(/\w+,\w+/g);
}
console.log(match('a;b,c;d'));
console.log(match('a,b;c'));

答案 1 :(得分:1)
使用\w+(?=,)
正则表达式获取所有这些值
答案 2 :(得分:0)
您也可以在分号上拆分,然后在逗号上过滤生成的数组 并从过滤后的数组中获取第一个元素。
示例代码段:
using System;
using Microsoft.TeamFoundation.Build.WebApi;
using Microsoft.VisualStudio.Services.Client;
namespace GetBuilds
{
class Program
{
static void Main(string[] args)
{
var tfsUrl = " http://server:8080/tfs/Collection";
var buildClient = new BuildHttpClient(new Uri(tfsUrl), new VssAadCredential());
var builds = buildClient.GetBuildsAsync("YourProjectName");
foreach (var build in builds.Result)
{
Console.WriteLine(String.Format("{0} - {1} - {2} - {3}", build.Definition.Name, build.Id.ToString(), build.Status.ToString(), build.SourceBranch.ToString()));
}
}
}
}
这种方法的好处是,当逗号分隔超过2个单词时,它仍然可以正常工作。