-1
我有一些提取文本的List<String>
,我想驗證列表是否符合此條件(可能包含多次該模式,並且每個列表中的項目都是):在列表中插入文本<String>休耕模式
0 // A zero should always be here when two numbers are together
\r\n // New line
number // any positive number
\r\n // New line
number // Positive number, .length < = 4
\r\n // New line
我想要的是驗證第一個零始終存在,如果沒有,插入它以匹配先前的列表格式。
text --> Insert a zero after this text
\r\n
4
\r\n
1234
\r\n
要...
text
\r\n
0 --> the inserted zero
\r\n
4
\r\n
1234
\r\n
所以,我知道我可以使用.Insert(index, string)
一個循環裏面,其實我使用的是用於循環列表有很多醜陋的驗證
public Regex isNumber = new Regex(@"^\d+$");
// When the list is been build and a possible match is found call this method:
private void CheckIfZeroMustBeAdded(List<string> stringList)
{
int counter = 0;
for (int i = stringList.Count - 1; i > 1; i--)
{
if (stringList[i].Equals(Environment.NewLine))
{
// Do nothing
}
else if (counter == 2)
{
if (!stringList[i].Equals("0"))
{
stringList.Insert(i, string.Format("{0}{1}", Environment.NewLine,"0"));
break;
}
}
else if (ExtractionConst.isNumber.Match(stringList[i]).Success && !stringList[i].Equals("0")
{
// There are two numbers together
counter++;
}
else
{
break;
}
}
}
但是..是否有任何有效的方法來做到這一點?
安置自己的企圖代碼,或表示你如何去了解它的一個片段,否則你可能會得到一個答案類似你已經實現了什麼。 – jmstoker
請直接在問題中包含代碼,而不是將其隱藏在粘貼鏈接後面。 –
或者沒有答案和大量downvotes ... – Brian