如何提取和存储字符串的一部分并将其存储在数组中?

时间:2016-05-18 00:58:16

标签: vb.net

我有一个文件数组,它以下列格式包含字符串:

" abc12345.xxx_xxx001.001045"

以上述格式存储的字符串可以帮助我完成部分工作

现在,存储了这个,我想提取该字符串的一部分并将其存储为数组

如何提取" abc12345"单独从这个字符串中存储一个数组?

我尝试使用split命令。面临的问题是:
 PN(0)存储abc12345
 PN(1)存储xxx_xx001
 PN(2)存储001045
 我想将abc12345存储为PN(0),然后将下一个后续部件号存储为PN(1)

复制代码

Dim PN As New ArrayList()
For Each element In file1array
    PN = element.split("."c)
Next

3 个答案:

答案 0 :(得分:0)

假设每个元素都包含一个句点,第一个段是部件号,

pn = file1Array.Select(
    function(element as string)
        return element.Split("."c)(0)
    end function
    ).ToArray()

这会将pn作为string的数组返回,而不是ArrayList

它说,对于element中的每个file1Array,将element拆分成一个数组并返回该数组中的第一个元素(部件号。)

然后取出所有这些值并将它们放在一个数组中。

答案 1 :(得分:0)

您可以使用substring和indexOf:

.wrapper {
  width: 90%;
  position: relative;
  border: 1px solid #000;
  background: #efefef;
  overflow: hidden;
  border-radius: 7px;
}

.container {
  overflow-y: auto;
  height: 200px;
  border-top: 41px solid transparent;
  border-bottom: 41px solid transparent;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
  width: 100%;
}

td + td {
  border-left: 1px solid #fff;
}

td, th {
  border-bottom: 1px solid #fff;
  background: #efefef;
  padding: 10px;
}

thead tr th,
tfoot tr td {
  height: 0;
  line-height: 0;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  color: transparent;
  border: none;
  white-space: nowrap;
}

thead tr th div,
tfoot tr td div {
  position: absolute;
  color: #fff;
  height: 20px;
  padding: 10px;
  margin-left: -10px;
  line-height: normal;
  width: 100%;
  z-index: 2;
  text-align: left;
  font-weight: bold;
}

thead tr th div {
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
}

tfoot tr td div {
  border-top: 1px solid #000;
}

tfoot tr td div.c1,
thead tr th div.c1 {
  background: violet;
}

tfoot tr td div.c2,
thead tr th div.c2 {
  background: green;
}

tfoot tr td div.c3,
thead tr th div.c3 {
  background: yellow;
}

thead tr th div {
  top: 0;
}

tfoot tr td div {
  bottom: 0;
}

thead tr th:first-child div,
tfoot tr td:first-child div {
  border-left: none;
}

答案 2 :(得分:0)

为什么不像你一样只使用split函数,只是连接索引1和2来得到你想要的结果?

Dim PN As New ArrayList()
For Each element In file1array
    PN = element.split("."c)
    PN(1) = PN(1) & PN(2)
Next