0
A
回答
1
如果您想讓報價變得十分簡單,知道如何使報價走向(左側或右側)並不容易。如果它不是那麼重要的是要完全理解這一點的時候,你可以使用正則表達式夫婦的:
function curlyQuotes(inp) {
return inp.replace(/(\b)'/, "$1’")
.replace(/'(\b)/, "‘$1")
.replace(/(\b)"/, "$1」")
.replace(/"(\b)/, "「$1")
}
curlyQuotes("'He said that he was \"busy\"', said O'reilly")
// ‘He said that he was 「busy」', said O’reilly
你會看到第二個「不正常變化。
1
的困難的部分是識別撇號,這將混淆單引號的數量。
對於雙引號,我認爲可以安全地找到它們,用左曲線替換奇數曲線,用右曲線替換偶數曲線。除非你有嵌套報價的情況。
來源是什麼?英文文本?碼?
0
我最近寫了一個排版美容引擎jsPrettify就是這麼做的。以下是我使用的算法(原始here)的報價單版本:
prettifyStr = function(text) {
var e = {
lsquo: '\u2018',
rsquo: '\u2019',
ldquo: '\u201c',
rdquo: '\u201d',
};
var subs = [
{pattern: "(^|[\\s\"])'", replace: '$1' + e.lsquo},
{pattern: '(^|[\\s-])"', replace: '$1' + e.ldquo},
{pattern: "'($|[\\s\"])?", replace: e.rsquo + '$1'},
{pattern: '"($|[\\s.,;:?!])', replace: e.rdquo + '$1'}
];
for (var i = 0; i < subs.length; i++) {
var sub = subs[i];
var pattern = new RegExp(sub.pattern, 'g');
text = text.replace(pattern, sub.replace);
};
return text;
};
相關問題
- 1. 在javascript中替換括號
- 2. 替換Javascript中的脫字符號
- 3. 替換符號
- 4. 替換&符號
- 5. 替換·符號
- 6. 在Javascript字符串中替換雙引號和單引號
- 7. 替換JavaScript中的所有加號符號字符串
- 8. 替換Javascript中的引號?
- 9. javascript替換問號
- 10. 在javascript字符串中替換歐姆符號(Ω)
- 11. 用Javascript字符串替換尖括號?
- 12. 用jquery替換數字和符號/ javascript
- 13. Matlab中的符號替換
- 14. 如何使用JavaScript字符串替換方法替換「+」號?
- 15. 如何在Javascript中替換字符串中的撇號?
- 16. MATLAB符號替換
- 17. 的Javascript替換全球不工作插入符號符號
- 18. 如何在sql中用「','」替換符號「,」?
- 19. 如何在javascript字符串中替換圓括號標記
- 20. 如何在字符串中替換引號中的符號
- 21. 字符串替換在JavaScript
- 22. javascript替換()函數從字符串中選擇符號
- 23. 使用替換方法在C#中替換爲\「符號
- 24. Javascript替換多個撇號
- 25. 的Javascript替換爲等號
- 26. 替換PostgreSQL中的符號字符
- 27. 在jquery或javascript中替換字符串
- 28. 在javascript數組中替換字符串
- 29. 在Javascript中查找和替換字符
- 30. 字符串替換在Javascript中
您是不是指那些需要在自己的產品線上的每個產品? – Nosredna 2009-06-10 01:41:06