Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 查找被斜杠除的子字符串_C#_Regex - Fatal编程技术网

C# 查找被斜杠除的子字符串

C# 查找被斜杠除的子字符串,c#,regex,C#,Regex,我需要找到以斜线符号开始,以斜线符号结束的子字符串 string sourceStr = "assets/Level 1/diffuse; 正则表达式的输出必须是“级别1” 我发现这个regex^“\”(.+)“\”$,但它似乎没有按照我想要的方式工作。 有什么想法吗?你不需要正则表达式。只要一个老派的.Split()就足够了 只要这样做: string sourceStr = "assets/Level 1/diffuse"; var subStr = sourceStr.Split('/'

我需要找到以斜线符号开始,以斜线符号结束的子字符串

string sourceStr = "assets/Level 1/diffuse;
正则表达式的输出必须是“级别1

我发现这个regex
^“\”(.+)“\”$
,但它似乎没有按照我想要的方式工作。
有什么想法吗?

你不需要正则表达式。只要一个老派的
.Split()
就足够了

只要这样做:

string sourceStr = "assets/Level 1/diffuse";
var subStr = sourceStr.Split('/')[1];
Console.WriteLine(subStr); // Level 1 

你不需要正则表达式。只要一个老派的
.Split()
就足够了

只要这样做:

string sourceStr = "assets/Level 1/diffuse";
var subStr = sourceStr.Split('/')[1];
Console.WriteLine(subStr); // Level 1 
string[]sourceStrSplit=sourceStr.Split('/');
for(int i=1;i
string[]sourceStrSplit=sourceStr.Split('/');
for(int i=1;i
A尽管如此,我们仍将讨论如何使用任意数量的斜杠来执行此操作,以便只返回两个斜杠中包含的项目


关于如何使用任意数量的斜杠进行此操作,以便只返回包含在两个斜杠中的项目的想法


可以使用字符串拆分函数代替正则表达式

string strTestline = "This is /Test/. You can /test2/";
string[] strarray = strTestline.Split(new char[] { '/' });

foreach (string block in strarray)
{
     Console.WriteLine(block);
}

可以使用字符串拆分函数代替正则表达式

string strTestline = "This is /Test/. You can /test2/";
string[] strarray = strTestline.Split(new char[] { '/' });

foreach (string block in strarray)
{
     Console.WriteLine(block);
}

.split('/')不是这里的选项吗?我建议使用
@(而不是惰性点星)(?split('/')不是这里的选项吗?我建议使用
@,而不是惰性点星)(?+1.如果可能,最好避免使用正则表达式。这不会匹配以a/开头和结尾的所有值,即a/b/c/d b和c都在以a/开头和结尾的参数范围内,上面的代码只能找到b@JensB,让OP去问吧。我在帮助OP,我的回答很好:)@JensB我认为关键是正则表达式在这里是多余的。你可以很容易地扩展它来满足你的任何需要。删除一个用“Split”调用的数组的末端,然后调用Join(“/”)您的解决方案让我很满意。非常感谢。+1.如果可能,最好避免使用正则表达式。这不会匹配以a/开头和结尾的所有值,即a/b/c/d b和c都在以a/开头和结尾的参数范围内,上面的代码只能找到b@JensB让我来问吧,我在帮你OP和我的答案很好:)@JensB我想重点是正则表达式在这里是多余的。你可以很容易地扩展它以满足你的任何需要。移除一个名为“拆分”的数组的末端,然后调用Join(“/”)也可以达到同样的目的。你的解决方案让我很满意。非常感谢。
string strTestline = "This is /Test/. You can /test2/";
string[] strarray = strTestline.Split(new char[] { '/' });

foreach (string block in strarray)
{
     Console.WriteLine(block);
}