Chr*_*nte 4 c# url filenames placeholder
我正在用C#编写一个应用程序,需要在URL和/或文件名中找到占位符,并用值替换,就像这样:C:\files\file{number}=> C:\files\file1不幸的是,对于这个例子,文件名和URL中允许使用花括号.
任何人都可以建议我可以使用一些字符来表示文件和URL中的占位符吗?谢谢!
当您尝试使用它们时,Windows相当有用地告诉您文件名中不允许使用哪些字符:
文件名不能包含以下任何字符:
\/:*?"<> |
有关更多信息,请参阅此支持文章,包括允许的字符列表.
对命名文件,文件夹或快捷方式有效的字符包括字母(AZ)和数字(0-9)的任意组合,以及以下特殊字符:
^ Accent circumflex (caret)
& Ampersand
' Apostrophe (single quotation mark)
@ At sign
{ Brace left
} Brace right
[ Bracket opening
] Bracket closing
, Comma
$ Dollar sign
= Equal sign
! Exclamation point
- Hyphen
# Number sign
( Parenthesis opening
) Parenthesis closing
% Percent
. Period
+ Plus
~ Tilde
_ Underscore
至于URL,请参阅RFC 1738的 2.2节,了解允许的字符:
因此,只有字母数字,特殊字符"$ -_.+!*'()",和用于各自保留目的的保留字符可以在URL中使用未编码.
...同样感兴趣的是:
出于多种原因,角色可能不安全.空间字符是不安全的,因为当URL被转录或排版或受到文字处理程序的处理时,重要的空格可能会消失并且可能引入无关紧要的空间.字符"<"和">"是不安全的,因为它们被用作自由文本中URL的分隔符; 引号(""")用于分隔某些系统中的URL.字符"#"是不安全的,应始终进行编码,因为它在万维网和其他系统中用于从片段/锚点分隔URL可能跟随它的标识符.字符"%"是不安全的,因为它用于其他字符的编码.其他字符是不安全的,因为已知网关和其他传输代理有时会修改这些字符.这些字符是"{","}","|","\","^","〜","[","]"和"`".
所有不安全的字符必须始终在URL中编码.
它看起来像双引号和尖括号字符("<>)是很好的选择.