我正在用PHP创建一个小留言板,我需要"简化"主题标题,以便在主题的网址中显示它.
例子:
Ceci est un sujet d'exemple 变 ceci-est-un-sujet-d-exemple
J'ai été à la plage 变 j-ai-ete-a-la-plage
I dislike sp&cial character$成为i-dislike-spcial-character(如果有更好的翻译,我会接受)
编辑1:所有字符串必须是UTF-8编码
编辑2:我最近了解到这种操作的结果被称为"slug"或"友好网址"
我正在学习Castle Windsor和WCF的依赖注入和拦截,我想检查一个截获的方法是否有自定义属性(LogAttribute).
(我的例子基于这个答案:https://stackoverflow.com/a/2593091)
服务合约 :
[ServiceContract]
public interface IOrderService
{
[OperationContract]
Order GetOrder(int orderId);
}
[DataContract]
public class Order
{
[DataMember]
public string Id { get; set; }
// [...]
}
Run Code Online (Sandbox Code Playgroud)
服务实施:
public class OrderService : IOrderService
{
private readonly IDatabase _database;
public OrderService(IDatabase database)
{
_database = database;
}
[Log] // <- my custom attribute
public Order GetOrder(int orderId)
{
return _database.GetOrder(orderId);
}
}
public class LogAttribute : Attribute
{ }
Run Code Online (Sandbox Code Playgroud)
简单的数据访问层:
public interface IDatabase …Run Code Online (Sandbox Code Playgroud) c# wcf dependency-injection castle-windsor castle-dynamicproxy
我有一个CSV文件,其中包含几行,如下所示:
"bar","foo, bar","18","07/09/2012 02:08:16","payments, recent","payments, all"
Run Code Online (Sandbox Code Playgroud)
某些值包含逗号,我需要删除这些逗号才能获得此结果:
"bar","foo bar","18","07/09/2012 02:08:16","payments recent","payments all"
Run Code Online (Sandbox Code Playgroud)
我从这个正则表达式开始,"^(\".+\"\\,?)+$"但对我来说它变得太复杂了.
最终目标是拆分该字符串:
string content = reader.ReadToEnd();
string[] lignes = contenu.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
for (int i = 1; i < lignes.Length; i++)
{
// REMOVE COMMAS
string[] values = csv.Split(new[] {','});
// do something
}
reader.Close();
Run Code Online (Sandbox Code Playgroud)
谢谢.