我正在尝试删除冒号:
之前的字符串。我需要冒号后的所有字符串。
输入:
"Country: USA <br>
Address Line1: Texas <br>
Address Line2: Austin <br>"
输出:
USA <br>
Texas <br>
Austin <br>
法典:
string address = "Country: USA <br> Address Line1: Texas <br> Address Line2: Austin <br>";
address = address.Substring(address.IndexOf(':') + 1);// This removes only one string before colon ,rest remains same
string[] output = address.Split(':');// This also includes the left part before colon
注意:这不是一个重复的问题,因为其他问题基于单个字符,但在这里我们处理字符串中多次出现的冒号和<br>
。
任何帮助都会很棒。
只是为了给出一个非正则表达式的替代方案,你可以按<br>
拆分(你的意思是<br/>
?(,然后做你的子字符串方法:
string[] output =
address
.Split(new string[] { "<br>" }, StringSplitOptions.RemoveEmptyEntries)
.Select(row => row.Substring(row.IndexOf(':') + 1).Trim() + " <br>")
.ToArray();
或者你可以做你的分号拆分方法:
string[] output =
address
.Split(new string[] { "<br>" }, StringSplitOptions.RemoveEmptyEntries)
.Select(row => row.Split(':').Last().Trim() + " <br>")
.ToArray();
如果你喜欢 linq 并且遵循"一行教会",这应该可以工作:
address
.Split(new string[] { ":", "<br>" }, StringSplitOptions.None)
.Trim()
.Where((ignore,index) => (index % 2) == 0)
.Select((item) => item+"<br>")
.ToList();