Using dash instead of point in headers

As suggested by Marco Daniel, it would be smarter to use

\renewcommand{\thesection}{\thechapter-\arabic{section}}

to take into account any change in the chapter number display. This leads also to the following remark that if you also want to modify the subsections number (and so on for the lower levels), you can use the generic code:

\renewcommand{\thesubsection}{\thesection-\arabic{subsection}}

A MWE to illustrate the proposed code:

\documentclass{book}

\renewcommand{\thesection}{\thechapter-\arabic{section}}
\renewcommand{\thesubsection}{\thesection-\arabic{subsection}}


\begin{document}
\chapter{First}
\section{Foo}
\subsection{Bar}
\end{document}

And its output:

Output2

EDIT I have been asked to extend this answer for having the same behaviour for the figures and tables. Here is the solution (same trick as for the sections and subsections)

\documentclass{book}

\usepackage{float}
\renewcommand{\thesection}{\thechapter-\arabic{section}}
\renewcommand{\thesubsection}{\thesection-\arabic{subsection}}
\renewcommand{\thefigure}{\thechapter-\arabic{figure}}
\renewcommand{\thetable}{\thechapter-\arabic{table}}

\begin{document}
\chapter{First}
\section{Foo}
\subsection{Bar}

\begin{figure}[H]
\caption{FooBar}
\end{figure}

\begin{table}[H]
\caption{Baz}
\end{table}

\end{document}

The float package is used only to have all the float on the same page for a clearer output:

Output for tables and figures


if you use xepersian package, the better way is to set SepMark as follows:

\usepackage{xepersian}
\SepMark{-}

This way the direction of the numbers is also kept!