如何在替换字符串中仅表示空格字符

如何在替换字符串中仅表示空格字符

我想用“-”替换字符串中的空格字符“ ”,使用

\tl_replace_all:Nnn \l_marian_input_text_tl { <space-character-here> } { - } 显然{ }不是“”,即我想改变“A string”->“A-string”

答案1

expl3代码中,波浪号~用于表示空格。

请注意,输入中的重复空格字符(如 )\inputtextB将计为单个空格,应替换为单个-。但\space宏可以重复:

\documentclass{article}    
\usepackage{expl3}

\begin{document}    
  \def\inputtextA{A String}
  \def\inputtextB{B  String}
  \edef\inputtextC{C\space\space String}

  \ExplSyntaxOn
  \tl_replace_all:Nnn \inputtextA { ~ } { - }
  \tl_replace_all:Nnn \inputtextB { ~ } { - }
  \tl_replace_all:Nnn \inputtextC { ~ } { - }
  \ExplSyntaxOff

  \inputtextA

  \inputtextB

  \inputtextC
\end{document}

相关内容