如何在字符串中加入回车换行,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字符的主要内容,如果未能解决你的问题,请参考以下文章

如何去掉文本中的回车换行符或任意字符

Delphi中JSON回车换行符转义

在sql server 中,如何去掉字符串的头尾回车换行,中间的回车换行不去掉?

在sql server 数据库字段中如何加入回车符和换行符?

h5键盘区分换行和回车

php 如何去除回车换行符