使用VB 2013时,我无法在每个字符串中的子字符串上对字符串数组进行排序

布莱恩·迪克森(Bryan Dickerson)

我认为这很简单,但是由于某种原因它没有出现在我身上...

到目前为止,这是我的代码

Dim fileReader As New StreamReader(FOfileToProcess)
Dim sLine As String = ""
Dim fileText As New ArrayList()
Do Until fileReader.EndOfStream()
    sLine = fileReader.ReadLine()
    If Not sLine Is Nothing Then fileText.Add(sLine)
Loop
fileReader.Close()
fileText.Sort(20, 2, Nothing) 'My intention is to sort by the values at zero-based 20 for 2 characters
fileText.Sort(63, 9, Nothing) '... and likewise at zero-based 63 for 9 characters
Dim saText() As String = DirectCast(fileText.ToArray(GetType(String)), String())
File.WriteAllLines(FOfileToProcess + "_sorted", saText)

它可以工作,但是写出的“ _sorted”文件未正确排序。这只是纠正我的排序字段的问题吗?最初的排序是2字段排序,主要排序为第63列,次要排序为20列,但是由于只有1组参数,我想首先进行次要排序,然后以主要排序结束。

有什么建议吗?

TIA!

奥利维尔·雅各·德斯科姆斯(Olivier Jacot-Descombes)

首先,请勿使用,ArrayList因为它不允许您指定商品的类型。而是使用List(Of T)

Dim fileText As New List(Of String)

其次,Sort方法的索引与行号有关,而不与字符串中的位置有关(ArrayList不知道您要插入字符串)。

Dim fileTextSorted = fileText _
    .OrderBy(Function(s) s.Substring(20, 2)) _
    .ThenBy(Function(s) s.Substring(63, 29))

如果文件中包含比子字符串所需位置短的行或空行(例如,文件末尾的一个空行),则Mid首选VB功能,Substring而不是可能引发异常的功能。或者,您可以通过首先应用Where条件来丢弃这样的行.Where(Function(s) s.Length >= 72) _或者在读取文件时不要将这样的行添加到列表中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C ++中将字符串数组转换为字符串类型,如将每个元素连接成一个字符串,并在字符串上使用子字符串?

来自分类Dev

如何仅使用 Ruby 中字符串的前 5 个字符对数组进行排序?

来自分类Dev

使用python查找并计算多个字符串中的子字符串实例

来自分类Dev

使用基于字符串中的字符的比较器对字符串数组进行排序

来自分类Dev

计算字符串中每个单词的每个字符,并使用php将少于5个字符的单词放入数组中

来自分类Dev

计算字符串中每个单词的每个字符,并使用php将少于5个字符的单词放入数组中

来自分类Dev

使用条件 IF 将字符串中的每个字符与另一个字符进行比较

来自分类Dev

使用C将字符串中每个字符的位置从当前位置循环右移

来自分类Dev

使用ngFor遍历字符串中的每个字符?

来自分类Dev

使用子字符串获取两个字符串之间的数字

来自分类Dev

在字符串中进行多个字符串替换时,如何避免使用var

来自分类Dev

使用textEntered时,我无法使用Backspace键删除字符串的最后一个字符

来自分类Dev

使用字符串时,我应该对单个字符使用“ c”还是“ c”?

来自分类Dev

使用Javascript获取两个字符串之间的字符串数组

来自分类Dev

使用Javascript获取两个字符串之间的字符串数组

来自分类Dev

为什么我无法使用索引访问字符串单个字符

来自分类Dev

排序一个字符串数组,使用另一个字符串数组确定顺序

来自分类Dev

如何使用printf从字符串数组中打印单个字符?

来自分类Dev

如何使用C ++按字母顺序对3个字符串变量进行排序?

来自分类Dev

在URL上使用explode以获得每个字符串的数组号

来自分类Dev

如果字符串中包含空格,我仍然可以在字符串上使用tsort吗?

来自分类Dev

VB 将 2 个数据行转换为数组中的单个字符串

来自分类Dev

对查询中的多个字符串使用like

来自分类Dev

使用自定义排序对JavaScript字符串数组进行排序,以在第一个字符中使用标点符号

来自分类Dev

使用util.format,在数组中的每个字符串周围用双引号引起来

来自分类Dev

使用javascript获取数组中每个字符串的第一个元素

来自分类Dev

使用 stdlib.c 中的 qsort() 根据每个 *char 中的第三个字母对 C 中的字符串数组进行排序

来自分类Dev

如何使用FlatList在单独的TouchableOpacity中返回每个字符串?

来自分类Dev

VB.net基本64个字符的数组或字符串的无效长度

Related 相关文章

  1. 1

    如何在C ++中将字符串数组转换为字符串类型,如将每个元素连接成一个字符串,并在字符串上使用子字符串?

  2. 2

    如何仅使用 Ruby 中字符串的前 5 个字符对数组进行排序?

  3. 3

    使用python查找并计算多个字符串中的子字符串实例

  4. 4

    使用基于字符串中的字符的比较器对字符串数组进行排序

  5. 5

    计算字符串中每个单词的每个字符,并使用php将少于5个字符的单词放入数组中

  6. 6

    计算字符串中每个单词的每个字符,并使用php将少于5个字符的单词放入数组中

  7. 7

    使用条件 IF 将字符串中的每个字符与另一个字符进行比较

  8. 8

    使用C将字符串中每个字符的位置从当前位置循环右移

  9. 9

    使用ngFor遍历字符串中的每个字符?

  10. 10

    使用子字符串获取两个字符串之间的数字

  11. 11

    在字符串中进行多个字符串替换时,如何避免使用var

  12. 12

    使用textEntered时,我无法使用Backspace键删除字符串的最后一个字符

  13. 13

    使用字符串时,我应该对单个字符使用“ c”还是“ c”?

  14. 14

    使用Javascript获取两个字符串之间的字符串数组

  15. 15

    使用Javascript获取两个字符串之间的字符串数组

  16. 16

    为什么我无法使用索引访问字符串单个字符

  17. 17

    排序一个字符串数组,使用另一个字符串数组确定顺序

  18. 18

    如何使用printf从字符串数组中打印单个字符?

  19. 19

    如何使用C ++按字母顺序对3个字符串变量进行排序?

  20. 20

    在URL上使用explode以获得每个字符串的数组号

  21. 21

    如果字符串中包含空格,我仍然可以在字符串上使用tsort吗?

  22. 22

    VB 将 2 个数据行转换为数组中的单个字符串

  23. 23

    对查询中的多个字符串使用like

  24. 24

    使用自定义排序对JavaScript字符串数组进行排序,以在第一个字符中使用标点符号

  25. 25

    使用util.format,在数组中的每个字符串周围用双引号引起来

  26. 26

    使用javascript获取数组中每个字符串的第一个元素

  27. 27

    使用 stdlib.c 中的 qsort() 根据每个 *char 中的第三个字母对 C 中的字符串数组进行排序

  28. 28

    如何使用FlatList在单独的TouchableOpacity中返回每个字符串?

  29. 29

    VB.net基本64个字符的数组或字符串的无效长度

热门标签

归档