No doubt Word is splitting your "variable" across runs, with grammar or spelling flags.
Fix it up with VariablePrepare
Put this line in after you instantiate the WordprocessingMLPackage:
VariablePrepare.prepare(wordMLPackage);
Then you can use your mappings to replace the variables.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…