首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何循环循环记录一个字符一次?

我如何循环循环记录一个字符一次?
EN

Stack Overflow用户
提问于 2021-02-21 17:11:32
回答 1查看 131关注 0票数 0

我如何循环循环记录一个字符一次?我想询问ASCII文件中的记录,每次一个字符,查找和替换不可打印的字符。我试着利用循环条件却没有运气。提前感谢您的帮助。

EN

Stack Overflow用户

回答已采纳

发布于 2021-03-10 20:18:50

是的,这在DataStage转换器中是可能的。

“循环条件”每次迭代都会创建一个新的输出行。它对接收到的每一行进行操作。您可能想要向输出链接添加一个约束,这只有在循环迭代完成后(对于该行)才是正确的。

用一个小伪码把每个“”替换成“?”通过一个接一个的循环:

代码语言:javascript
运行
复制
// Input Link "DSLink2" 
// provides a column named "text"


// Stage Variables:

NVarCHar(20) svLine := DSLink2.text
NChar(1)     svReplacementChar := "?"


// Loop Variables:

NChar(1)     lvCharToTest
Bit          lvCharOK := 0
NVarCHar(20) lvNewLine := ''
Integer      i := 0


// Loop Condition:

loop while (i < Len(svLine)) {
  i = i + 1
  lvCharToTest := svLine[i,1]

  // replace by proper test condition or function according to your needs:
  lvCharOK     := lvCharToTest = 'ä' 

  if (lvCharOK) {
    lvNewLine = lvNewLine + lvCharToTest
  }
  else {
    lvNewLine = lvNewLine + svReplacementChar
  }
}

// DSLink4_output:

If (i = Len(svLine)) {
  DSLInk4_output.text := lvNewLine
}

显示此示例的转换器阶段的屏幕截图

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66304904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档