vb如何去掉最后的换行符?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb如何去掉最后的换行符?相关的知识,希望对你有一定的参考价值。
Open App.Path & "\日志.txt" For Input As #1
n = 0
Do While Not EOF(1)
Line Input #1, tmp
If tmp <> "" And Trim(tmp) <> "" Then
sQw = sQw + tmp & vbCrLf
n = n + 1
End If
Loop
Close #1
如何去掉 sQw的最后一个vbcrlf?
这是VB在读多行文件时出现的问题,最后行多了换行字符。
可以用Left 函数来取去除最后换行字符的文本。
Left 函数
返回 Variant
(String),其中包含字符串中从左边算起指定数量的字符。
Len 函数
返回 Long,其中包含字符串内字符的数目。
Option ExplicitDim s As String
Dim i As Long
Dim fname As String
Dim strWj As String
Private Sub Command1_Click()
\' 设置“CancelError”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
\' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
\' 设置过滤器
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & _
"(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
\' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
\' 显示“打开”对话框
CommonDialog1.ShowOpen
\' 显示选定文件的名字
\'MsgBox CommonDialog1.FileName
Open CommonDialog1.FileName For Input As #1
Do Until EOF(1)
Line Input #1, s
strWj = strWj & s & vbCrLf
i = i + 1
Loop
Text3 = i
Close #1
Text1 = Left(strWj, Len(strWj) - 2) \'去除读入文本多余的换行符。
Debug.Print Len(strWj)
Debug.Print Len(Text1)
Exit Sub
ErrHandler:
\' 用户按了“取消”按钮
Exit Sub
End Sub 参考技术A 1个换行符号应该是2个字符,所以:
sQw = Left(sQw,Len(sQw)-2)本回答被提问者采纳 参考技术B vbCrLf=chr(10)+chr(13)占两位
所以只要从左边开始截取长度-2位就行了
sQw=left(sQw,len(sQw-2)) 参考技术C sQw = replace(sQw,vbCrLf,"")
C语言如何去掉字符串中换行符
我的字符串是char a[]="myfile.txt/r".
当我printf("%s",a)的时候,会发现,他会输出换行,我想把在字符串中去掉换行符,请问怎么写???
C语言可以使用Replace函数去掉字符串中换行符。即Replace(字符串,'\n','')。
Replace函数语法为Replace (Expression, Find, ReplaceWith [, Start] [, Count] [, Compare])。
Expression必需的。代表将要执行替换操作的字符串。
Find必需的。代表要搜索的字符串。
ReplaceWith必需的。代表用于替换的字符串。
Start可选的。代表决定从Expression开头向结尾数的第几位开始搜索,默认值为1。
Count可选的。代表限制进行替换的次数,默认值为-1,即进行所有的替换。
Compare可选的。代表决定判断子字符串的比较方式。
扩展资料:
Replace函数如果搜索的字符串是一个数组,那么它将返回一个数组。如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
如果同时需要对某个数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用
参考技术AC语言如何去掉字符串中换行符,
只需要循环遍历字符串中的换行符改成\\0就行了
#include <stdio.h>void main()
char a[]="myfile.txt/r".;
int i,j,L,n=0;
L = strlen(a);
for (i=0;i<=L-n;i++)
if(a[i] == '\\r')
a[i] = 0;
printf("%s",a);
参考技术B 下面程序过滤掉所有回车符号 "\r".
#include <stdio.h>
void main()
char a[]="myfile\r.txt\r";
int i,j,L,n=0;
L = strlen(a);
for (i=0;i<=L-n;i++) if (a[i] == '\r')
for (j=i;j<=L-1-n;j++) a[j]=a[j+1];
n++;
printf("%s",a); 参考技术C a[strlen(a)-1]=0;
printf("%s",a); 参考技术D if(a[strlen(a)-1])=='\n') a[strlen(a)-1])=0;
if(a[strlen(a)-1])=='\r') a[strlen(a)-1])=0;
printf( "%s", a );
以上是关于vb如何去掉最后的换行符?的主要内容,如果未能解决你的问题,请参考以下文章