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行的编辑,我们还遗漏了我刚刚更正的第二部分;)感谢您的编辑,我们还错过了我刚刚更正的第二部分;)