Selena Gomez has seemingly taken a swipe at Justin Bieber in a new song.

Selena Gomez

Selena Gomez

The 'Come and Get It' hitmaker has teamed up with Charli XCX to write 'Bad Girlfriend', which features lyrics about a woman taking the blame for relationship problems, despite her partner's suspect behaviour, which has been taken as inspired by her previous on/off romance with the Canadian singer.

The lyrics include: "I know I'm not there for you or there when you call. I'm a bad girlfriend/I'm a bad girlfriend."

A source told the Sun on Sunday newspaper: "It's all about a boyfriend the girl is no longer really into and has finally gotten wise to. It's tongue-in-cheek and Selena and Charli knew exactly who they were writing about.

"She sings about how a good girlfriend would just carry on and let their boyfriend walk all over them, with their cheating and whatnot, but she's changed her ways.

"It will undoubtedly be tweaked but they were really happy with how the songwriting session went and were loving slating their exes."

The 24-year-old singer - who is now dating The Weeknd - previously accused Justin of being unfaithful during their relationship on Instagram.

She posted on his account: "Funny how the ones that cheated multiple times are pointing the finger at the ones that were forgiving."

But the 'Sorry' hitmaker then accused her of cheating on him with Zayn Malik.

He wrote: "I cheated...Oh and I forgot about you and Zayn (sic)"

However, later on, Selena admitted she regretted the online spat, telling her Snapchat followers that "what she said was selfish and pointless".