Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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# 在autocad中拆分字符串并分别打印字符串的值_C#_String_Split_Autocad - Fatal编程技术网

C# 在autocad中拆分字符串并分别打印字符串的值

C# 在autocad中拆分字符串并分别打印字符串的值,c#,string,split,autocad,C#,String,Split,Autocad,534-W1A-R1这是我的文件名,我想将其拆分,以便像 Code=534 Phase=1 Zone=A 在我的Autocad文件中。您可以使用不同的方法执行此操作。如果您确定文本的格式,您可以使用: var str= "534-W1A-R1"; var parts=str.Split('-'); var code= parts[0]; var secondPart= parts[1]; var phase=secondPart.Substring(1,secondPart.Length-2)

534-W1A-R1
这是我的文件名,我想将其拆分,以便像

Code=534 Phase=1 Zone=A

在我的Autocad文件中。

您可以使用不同的方法执行此操作。如果您确定文本的格式,您可以使用:

var str= "534-W1A-R1";
var parts=str.Split('-');
var code= parts[0];
var secondPart= parts[1];
var phase=secondPart.Substring(1,secondPart.Length-2);
var zone=secondPart[secondPart.Length-1]; 

如果正则表达式更复杂,您也可以使用它。

您有不同的方法。如果您确定文本的格式,您可以使用:

var str= "534-W1A-R1";
var parts=str.Split('-');
var code= parts[0];
var secondPart= parts[1];
var phase=secondPart.Substring(1,secondPart.Length-2);
var zone=secondPart[secondPart.Length-1]; 

如果正则表达式更复杂,也可以使用它。

下面的拆分代码应该可以工作:

string str = @"534-W1A-R1";

var split = str.Split('-');

string code = split.First();
string phase = new string(split.ElementAt(1).Skip(1).Take(1).ToArray());
string zone = new string(split.ElementAt(1).Skip(2).Take(1).ToArray());

string result = String.Format("Code={0} Phase={1} Zone={2}", code, phase, zone);
Console.WriteLine(result);
输出:

Code=534 Phase=1 Zone=A
Code=534 Phase=1 Zone=A

下面的拆分代码应该可以工作:

string str = @"534-W1A-R1";

var split = str.Split('-');

string code = split.First();
string phase = new string(split.ElementAt(1).Skip(1).Take(1).ToArray());
string zone = new string(split.ElementAt(1).Skip(2).Take(1).ToArray());

string result = String.Format("Code={0} Phase={1} Zone={2}", code, phase, zone);
Console.WriteLine(result);
输出:

Code=534 Phase=1 Zone=A
Code=534 Phase=1 Zone=A
使用该方法

输出:

Code=534 Phase=1 Zone=A
Code=534 Phase=1 Zone=A
使用该方法

输出:

Code=534 Phase=1 Zone=A
Code=534 Phase=1 Zone=A
使用正则表达式

编辑:添加了一些注释(模式描述)

使用正则表达式

编辑:添加了一些注释(模式描述)


1在W和AUse split之间:字符串输入=534-W1A-R1;string[]splitArray=input.Split(新字符[]{“-”});1在W和AUse split之间:字符串输入=534-W1A-R1;string[]splitArray=input.Split(新字符[]{“-”});格式将根据项目而改变,我的意思是1的值有时会是两位或三位数字。试试看。@AjjagsThank@Rakitić+1;)采用字符数组并返回令牌数组的split方法重载更易于使用,请参见question@GeorgeBirbilis我也用split。看一看第2行,格式将根据项目而变化,我的意思是1的值有时会是两位或三位数字。试试看。@ajjagsthanking@Rakitić+1;)采用字符数组并返回令牌数组的split方法重载更易于使用,请参见question@GeorgeBirbilis我也用split。请看第2行的编辑,我们还遗漏了我刚刚更正的第二部分;)感谢您的编辑,我们还错过了我刚刚更正的第二部分;)