VB 字符串如何换行

qq_25082535 2015-10-21 10:22:17
我现在获取到 一串字符串 ,现在要做的是定义一个方法,实现的功能是,如果这个字符串中包含分号和句号,那么就自动换行,也就是将字符串拆分出来,但是还是一个字符串,宁外 我这个是做报表用的,希望有会的人能够帮帮我。
举个例子 “1:abcd;2:adfg;3:asdvc。”
实现方法后
“1:abcd;
2:adfg;
3:asdvc。”
...全文
2174 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
pipi20151001 2015-10-29
  • 打赏
  • 举报
回复
分离出来,只要在后面加上vbcrlf就可以了。
qq_25082535 2015-10-21
  • 打赏
  • 举报
回复
引用 7 楼 worldy 的回复:
s = Replace(s, ";", "。") //将所有被认为需要换行的符号转换为。 dim A() as string A=split(s,";") //A数组每个单元对应于一行
这样应该也不行,真的可能是报表格式问题
qq_25082535 2015-10-21
  • 打赏
  • 举报
回复
引用 6 楼 Tiger_Zhao 的回复:
那是显示的问题,你报表的格式就是单行的。
报表格式文本框也没有那个属性换成多行吧
worldy 2015-10-21
  • 打赏
  • 举报
回复
s = Replace(s, ";", "。") //将所有被认为需要换行的符号转换为。 dim A() as string A=split(s,";") //A数组每个单元对应于一行
Tiger_Zhao 2015-10-21
  • 打赏
  • 举报
回复
那是显示的问题,你报表的格式就是单行的。
qq_25082535 2015-10-21
  • 打赏
  • 举报
回复
引用 4 楼 Tiger_Zhao 的回复:
function f(byval s as string) as string
    s = Replace(s, ";", ";" & vbCrLf)
    s = Replace(s, "。", "。" & vbCrLf)
    If Right$(s, 2) = vbCrLf Then '去掉末尾换行'
        s = Left$(s, Len(s) - 2)
    End If

    f = s
end function
唉并没有用啊。显示出来的还是在一行里面
Tiger_Zhao 2015-10-21
  • 打赏
  • 举报
回复
function f(byval s as string) as string
s = Replace(s, ";", ";" & vbCrLf)
s = Replace(s, "。", "。" & vbCrLf)
If Right$(s, 2) = vbCrLf Then '去掉末尾换行'
s = Left$(s, Len(s) - 2)
End If

f = s
end function
qq_25082535 2015-10-21
  • 打赏
  • 举报
回复
引用 1 楼 Tiger_Zhao 的回复:
    Dim s As String
    
    s = "1:abcd;2:adfg;3:asdvc。"
    Debug.Print s & "|" 
    
    s = Replace(s, ";", ";" & vbCrLf)
    s = Replace(s, "。", "。" & vbCrLf)
    If Right$(s, 2) = vbCrLf Then '去掉末尾换行'
        s = Left$(s, Len(s) - 2)
    End If
    
    Debug.Print s & "|"
1:abcd;2:adfg;3:asdvc。|
1:abcd;
2:adfg;
3:asdvc。|
这样的 定义成方法要怎么写呢,而且我这个是放在报表里面的,debug 不能放在自定义代码里面吧
qq_25082535 2015-10-21
  • 打赏
  • 举报
回复
额,这样可以定义成一个方法吗,而且我是放在报表rdl 里面的
Tiger_Zhao 2015-10-21
  • 打赏
  • 举报
回复
    Dim s As String

s = "1:abcd;2:adfg;3:asdvc。"
Debug.Print s & "|"

s = Replace(s, ";", ";" & vbCrLf)
s = Replace(s, "。", "。" & vbCrLf)
If Right$(s, 2) = vbCrLf Then '去掉末尾换行'
s = Left$(s, Len(s) - 2)
End If

Debug.Print s & "|"

1:abcd;2:adfg;3:asdvc。|
1:abcd;
2:adfg;
3:asdvc。|

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧