【问题标题】:VB.Net Split string after certain wordsVB.Net 在某些单词后拆分字符串
【发布时间】:2014-02-17 19:52:25
【问题描述】:

我正在努力为 VB.Net 中的小问题找到解决方案。

我基本上有一个最初来自 XML 的字符串,我需要在某些单词之后插入一个新行 (chr(13)。

例如,如果我的字符串是;

TAF AMD EGNM 171734Z 1718/1818 16010KT 9999 BKN018 TEMPO 1718/1803 8000 -RA BKN010 PROB30 TEMPO 1718/1724 4000 RADZ BKN006 PROB40 TEMPO 1800/1809 BKN005 PROB40 TEMPO 1809/1818 6000 SHRA BKN010 BKN020TCU BECMG 1810/1813 23010KT

我需要它看起来像这样;

TAF AMD EGNM 171734Z 1718/1818 16010KT 9999 BKN018 
     TEMPO 1718/1803 8000 -RA BKN010 
     PROB30 
     TEMPO 1718/1724 4000 RADZ BKN006 
     PROB40 
     TEMPO 1800/1809 BKN005 
     PROB40 
     TEMPO 1809/1818 6000 SHRA BKN010 BKN020TCU 
     BECMG 1810/1813 23010KT

如您所见,要拆分的关键字是'TEMPO''PROB30''PROB40'

有什么想法吗?

【问题讨论】:

  • 为什么不像yourstring.Replace("TEMPO", "TEMPO\r\n")
  • 这实际上是 yourstring.Replace("TEMPO", "\r\nTEMPO") 但它是正确的,应该这样做。
  • 该示例建议您希望在某些单词之前而不是之后进行拆分。此外,您是否有有限数量的“单词”需要换行(即 chr(10),顺便说一句)。
  • 感谢您的建议,但效果并不如我所愿。下面的答案效果很好,谢谢大家。

标签: vb.net string split keyword


【解决方案1】:

试试这个:

Dim toReplace() = new String() {"TEMPO", "PROB30", "PROB40", (...)}

For Each word As String In toReplace
    value = value.Replace(word, Environment.NewLine & word)
Next

【讨论】:

  • 效果很好,非常感谢您的帮助,新它会相当简单。
  • 很高兴我能帮上忙。 :) 请不要忘记将此标记为答案。
猜你喜欢
  • 1970-01-01
  • 2017-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-13
  • 1970-01-01
  • 2018-10-12
  • 1970-01-01
相关资源
最近更新 更多