如何在字符串中加入回车换行,tab字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在字符串中加入回车换行,tab字符相关的知识,希望对你有一定的参考价值。
参考技术A 字符串加回车换行TAB符号所有字符在下面的类中:
cl_abap_char_utilities=>horizontal_tab — 09
cl_abap_char_utilities=>CR_LF ———- 0D0A
cl_abap_char_utilities=>VERTICAL_TAB — 0B
cl_abap_char_utilities=>NEWLINE —- 0A
cl_abap_char_utilities=>FORM_FEED —- 0C
cl_abap_char_utilities=>BACKSPACE — 08
如果是要单独取得回车或者换行(不是回车加换行),可以采用:
cl_abap_char_utilities=>CR_LF(1)
cl_abap_char_utilities=>CR_LF 1(1)
从EXCEl文件中传上的文件的回车符就是cl_abap_char_utilities=>CR_LF 1(1)
DATA: crlf(2) TYPE c.
crlf = cl_ABAP_char_utilities=>cr_lf. "换行符
在字符串中加入回车换行或TAB字符,在其他语言可以使用$13$10的ASCII码进行插入.而在abap里却出错,为了解决此问题,请使用sap的类CL_ABAP_CHAR_UTILITIES.
CL_ABAP_CHAR_UTILITIES中有字符常量:如:CR_LF,HORIZONTAL_TAB,NEWLINE等等.
例:
DATA: crlf(2) TYPE c.
DATA: l_html(4096) TYPE C.
crlf = cl_ABAP_char_utilities=>cr_lf.
CONCATENATE l_html crlf '_FUNCTION'
'30'
'WWW_GET_REPORT' '>' INTO l_html.
----
调用方法产生文件路径对话框
DATA: p_file LIKE rlgrap-filename.
FIELD-SYMBOLS <fs> TYPE file_table.
FIELD-SYMBOLS <f>.
DATA: f_table TYPE filetable.
DATA: rc TYPE i.
DATA: user_action TYPE i.
DATA: l_index TYPE i.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = '请选择要汇入的文件'
file_filter = 'Excel files (*.XLS)|*.XLS'
initial_directory = 'D:\'
CHANGING
file_table = f_table
rc = rc
user_action = user_action
EXCEPTIONS
cntl_error = 1
file_open_dialog_failed = 2
error_no_gui = 3.
CALL METHOD cl_gui_cfw=>flush
EXCEPTIONS cntl_system_error = 1
cntl_error = 2.
CLEAR p_file.
READ TABLE f_table ASSIGNING <fs> INDEX 1.
IF sy-subrc = 0.
p_file = <fs>-filename.
ENDIF.本回答被提问者采纳
批处理字符如何替换成回车符或换行。
比如说
我爱你%0d%0a你爱我%0d%0a你你你%0d%0a我我我
替换后:
我爱你
你爱我
你你你
我我我
谢谢。!
一般不要使用批处理来替换或更改已经编好的内容,容易造成不可逆的损失;
文本内容可以使用下面的例子,删除字符并换行。
改编自: 迷茫之雁 的回答实例。
----------------------------------------------------------------------
@echo off>tmp.txt
set REN=
set /p REN=输入要删除的字符:
for /f "delims=" %%i in (a.txt) do (
set "s=%%i"
call set "s=%%s:%REN%=&echo.%%"
call call :write "echo.%%s%%"
)
start tmp.txt
exit
:write
(%~1)>>tmp.txt
goto :eof 参考技术A 这类的确不适宜用批处理解决,高手们懒得费神,我给小心地硬拼溱了一段,也就适宜楼主说的“比如”情况,若是有类似的还不敢说可以。
假定要换的就是%0d%0a(把它变换行),且每行最多有四处(再多要改 12345及bcdef顺延...)
@echo off &setlocal enabledelayedexpansion
echo 正在处理...
copy nul na.txt>nul
for /f "delims=" %%a in (a.txt) do (
set "hh=%%a"
set "hh=!hh:%%0d%%0a=■!"
for /f "tokens=1,2,3,4,5 delims=■" %%b in ('echo !hh!') do (
if "%%b" neq "" echo.%%b
if "%%c" neq "" echo.%%c
if "%%d" neq "" echo.%%d
if "%%e" neq "" echo.%%e
if "%%f" neq "" echo.%%f
)>>na.txt
)
start na.txt
echo 完成。&ping /n 2 127.1>nul本回答被提问者采纳
以上是关于如何在字符串中加入回车换行,tab字符的主要内容,如果未能解决你的问题,请参考以下文章
在sql server 中,如何去掉字符串的头尾回车换行,中间的回车换行不去掉?