- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想实现的是以下内容。我有一个可能采用以下格式的字符串(只是一个示例,实际字符串可能是完全随机的):
01005010050
上面的字符串被分解为以下字段:
0 100 50 100 50
我想要实现的是将最后 4 个字段的总和放入第一个 0 字段。我确实有机会用标记或可用于识别字段在字符串中的位置的东西来装饰字符串,即
[£+]0[£-][£+]100[£-][£+]50[£-][£+]100[£-][£+]50[£-]
然后我将使用正则表达式从开始和结束标记中获取内部值。我需要一些方法来确定哪个字段是主字段,所以我打算使用另一个标记:
[*][£+]100[£-][£+]50[£-][£+]100[£-][£+]50[£-]
然后我可以遍历找到的内部字符串,转换它们并添加它们。然后在原始字符串上删除开始 [£+] 和结束 [£-] 标记并将 [*] 替换为计算的总数。我认为这可行,但问题在于每个字符串可能有多个总计。
[£+][*][£-][£+]100[£-][£+]50[£-][£+]100[£-][£+]50[£-]\r\n
[£+][*][£-][£+]100[£-][£+]50[£-][£+]100[£-][£+]50[£-]
所以我想在字段中添加某种 ID:
ID1[*][£+]ID1|100[£-][£+]ID1|50[£-][£+]ID1|100[£-][£+]ID1|50[£-]\r\n
ID2[*][£+]ID2|100[£-][£+]ID2|50[£-][£+]ID2|100[£-][£+]ID2|50[£-]
那么您将使用正则表达式来拆分字符串。在管道 (|) 上拆分找到的内部字符串,这样第一个值就是键,第二个值就是值。将所有这些添加到字典或其他东西中。然后,您必须遍历字典中的每个键并添加所有总计,从原始字符串中删除标记并将“Key[*]”替换为该键的找到的总计。
这个过程更加复杂,因为另一个字段可以保存总计的总数。我只是想首先澄清一下,这是一种合乎逻辑的做法,当有一个简单的解决方案时,我不会把事情复杂化。只是为了澄清字符串的格式可以是完全随机的,即
abc1000cde50 where fields are:
abc 100 0 c d e 50 (total placed in field 3 from 2 + 7)
我有机会装饰这些字段的原因是这个字符串是从一个 XML 文件构建的,我可以在其中有一个属性说明这是一个总字段,这是主字段。我不能在构建字符串时简单地添加值的原因是首先执行了许多其他计算,包括计算实际值是什么(即该字段在 0 - 500 的范围内)。我只是打算在返回完成的构建字符串之前计算最后的总数。代码的结构方式使我失去了拆分字段的能力,因此放置标记以显示字段在字符串中的位置,并能够以这种方式计算总数。
最佳答案
只回答问题的第一部分!
假设您在 0 之后和 != 0 之前拆分字符串:
{
string s = "01005010050";
var ls = new List<int>();
for (int n = 0; n < s.Length - 1; n++)
{
if ((int)s[n] == 48 && (int)s[n + 1] != 48) // 48 = Ascii(0)
{
s = s.Insert(n + 1, ";");
}
}
ls = s.Split(';').Select(Int32.Parse).ToList();
for (int n = 1; n < ls.Count(); n++)
{
ls[0] += ls[n];
}
}
关于C# - 使用标记识别值的子串求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15458985/
我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示: foo('Chocolate', 3) # => 'ChoChoCho' foo('Abc', 3) # => 'AbcAbcA
我有以下字符串: std::string str = "Mode:AAA:val:101:id:A1"; 我想分离一个位于 "val:" 和 ":id" 之间的子字符串,这是我的方法: std::st
DNA 字符串可以是任意长度,包含 5 个字母(A、T、G、C、N)的任意组合。 压缩包含 5 个字母(A、T、G、C、N)的 DNA 字母串的有效方法是什么?不是考虑每个字母表 3 位,我们可以使用
是否有一种使用 levenstein 距离将一个特定字符串与第二个较长字符串中的任何区域进行匹配的好方法? 例子: str1='aaaaa' str2='bbbbbbaabaabbbb' if str
使用 OAuth 并使用以下函数使用我们称为“foo”(实际上是 OAuth token )的字符串加密 key public function encrypt( $text ) { // a
我是一名优秀的程序员,十分优秀!