我想爲我正在開發的代碼生成器提供一些模板。一個典型的模式是:字符串替換問題
public ${class_type} ${class_name} extends ${super_class} implements ${interfaces} {
${class_body}
}
問題是,如果super_class是空白或接口。我用空字符串替換了$ {super_class}。但我得到額外的空間。因此,與沒有super_class和接口的類落得像:
public class Foo { //see the extra spaces before {?
${class_body}
}
我知道我可以用單取代多個空格,但有沒有更好的方法嗎?
編輯: 我收到了一些很好的答案,但它沒有解決這個問題。我無法指定模板,用戶將設置它。否則,有什麼意義?有,如果他們喜歡什麼:
public ${class_type} ${class_name} extends ${super_class}
implements ${interfaces} {
${class_body}
}
我想我可以隨時刪除extends ${super_class}
和 implements ${interfaces}
之間的所有空格,當任何一個空白。它仍然不是完美的,但會更好。
如果您提供處理此問題的代碼生成器的代碼,也許您的問題會更清楚。 – NomeN 2010-04-02 10:49:27