我已经使用 PDFBox 将 PDF 文档转换为文本。但是,许多单词用破折号分成两行。
例如,单词Others
变为Oth-ers
,单词becoming
变为be-coming
等。
如果我用string.Replace
空字符串替换“-”,它会在单词之间用空格分隔。
在 C# 中有没有办法删除单词中间的破折号并将单词的各个部分再次连接成一个单词?
我写了这个单元测试,破折号被正确删除。
[TestMethod]
public void ReplaceDashByEmptyString()
{
string othersWithDash = "Oth-ers";
string othersWithoutDash = othersWithDash.Replace("-", string.Empty);
Assert.AreEqual("Others", othersWithoutDash);
}
你可以用Regex.Replace
这个。
var text =@"Others Oth-ers";
var matches = Regex.Matches(text, @"\w+\-\w+");
foreach(Match dashMatch in matches)
{
text = Regex.Replace(text, Regex.Escape(dashMatch.Value), dashMatch.Value.Replace("-", string.Empty));
}
//Then you can have your new test variable