The answer depends on your definition of a hash function.
In general hash functions don't guarantee, that they hide their input.
A general hash function gives you three properties:
- preimage resistance (given $y = H(x)$ it is hard to find $x^*$ such that $H(x^*) = H(x)$)
- second preimage resistance (given $y = H(x)$ it is hard to find $x^*$ such that $H(x^*) = H(x)$ and $x^* \neq x$)
- collision resistance (it is hard to find $x_1$ and $x_2$ such that $x_1 \neq x_2$ and $H(x_1) = H(x_2)$)
None of these properties guarantee that the hash function doesn't reveal part of the input - i.e. there are hash functions that reveal $A$.
However, in practice you typically model hash functions as random oracles - for any input, the function yields a randomly chosen output.
In this case it is easy to show that it is hard to find $A$.
You might also want to take a look at length extension attacks, which are a way many hash functions deviate from a random oracle. However, these won't help you in finding $A$, they will however help you in finding (roughly) $H(A \| B \| C)$, given $H(A \| B)$ (without knowing $A$ or $B$).