转换MS字“花”引号和撇号

问题描述 投票:14回答:3

我如何在微软Word引号和撇号转换为常规报价和Java中撇号人物?什么是这些字符的Unicode数字?

“你好吗?”

'你好'

由于堆栈溢出autofixes他们来说,这里是他们如何出现在编辑器中

Curly Quotes

“你好吗?”

'你好'

ms-word quotes
3个回答
15
投票

去掉托马斯的回答,代码为:

return text.replaceAll("[\\u2018\\u2019]", "'")
           .replaceAll("[\\u201C\\u201D]", "\"");

12
投票

下面就为大家处理Unicode的一个非常有用的链接:Unicode codepoint lookup/search tool

搜索“引号”给

‘ (U+2018) LEFT SINGLE QUOTATION MARK
’ (U+2019) RIGHT SINGLE QUOTATION MARK
“ (U+201C) LEFT DOUBLE QUOTATION MARK
” (U+201D) RIGHT DOUBLE QUOTATION MARK

有迹象表明,你可能会考虑更换several other quote-like symbols


5
投票

感谢尼克面包车阿尔泽特在C# How to replace Microsoft's Smart Quotes with straight quotation marks?

这里是(“\ u2019”是”在MS Word)的代码,因为它涵盖了问题的单词字符是非常有用的。

if (buffer.IndexOf('\u2013') > -1) buffer = buffer.Replace('\u2013', '-');
if (buffer.IndexOf('\u2014') > -1) buffer = buffer.Replace('\u2014', '-');
if (buffer.IndexOf('\u2015') > -1) buffer = buffer.Replace('\u2015', '-');
if (buffer.IndexOf('\u2017') > -1) buffer = buffer.Replace('\u2017', '_');
if (buffer.IndexOf('\u2018') > -1) buffer = buffer.Replace('\u2018', '\'');
if (buffer.IndexOf('\u2019') > -1) buffer = buffer.Replace('\u2019', '\'');
if (buffer.IndexOf('\u201a') > -1) buffer = buffer.Replace('\u201a', ',');
if (buffer.IndexOf('\u201b') > -1) buffer = buffer.Replace('\u201b', '\'');
if (buffer.IndexOf('\u201c') > -1) buffer = buffer.Replace('\u201c', '\"');
if (buffer.IndexOf('\u201d') > -1) buffer = buffer.Replace('\u201d', '\"');
if (buffer.IndexOf('\u201e') > -1) buffer = buffer.Replace('\u201e', '\"');
if (buffer.IndexOf('\u2026') > -1) buffer = buffer.Replace("\u2026", "...");
if (buffer.IndexOf('\u2032') > -1) buffer = buffer.Replace('\u2032', '\'');
if (buffer.IndexOf('\u2033') > -1) buffer = buffer.Replace('\u2033', '\"');
© www.soinside.com 2019 - 2024. All rights reserved.