# Converting SMILES string into valid sub-strings

I have a SMILES string as follows.

smi= 'CCOC(=O)C1=C(COCCN)NC(C)=C(C(=O)OC)C1c1ccccc1Cl'


Is there anyway that I convert this SMILES string into valid sub-strings which can be later processed in RDKIT.

For instance

smi_sub1= 'C1c1ccccc1Cl'
smi_sub2= 'CCOC(=O)C1=C(COCCN)NC(C)=C(C(=O)OC)'
smi_sub3= 'C1=C(COCCN)NC(C)=C(C(=O)OC)'


These sub-strings should be subset of the main SMILES string and should also be valid from the SMILES syntax point of view.

So that when I use the function MolFromSmiles, It get processed without any error or none in return?

Mol_sub1 = Chem.MolFromSmiles(smi_sub1)
Mol_sub2 = Chem.MolFromSmiles(smi_sub2)
Mol_sub3 = Chem.MolFromSmiles(smi_sub3)