我試圖通過刪除非拉丁字符+ [!?., ]
來減少在線文本的一些複雜性。大多數字符可以沒有問題地刪除,但他們中的一些我想具體的規則:將句子替換爲句子
對的(
和)
,對"
(引號)或一對*
應任何文本轉換裏面他們一個句子,如果它包含兩個以上的單詞。通過轉換成一句話,我只想在最後加上句號。例如:
but *after* I came up with it, I searched and...
到
but after I came up with it, I searched and...
在這裏,我只是想在*
刪除,而不是:
*buys airplane ticket* IM COMING FOR YOU
到
buys airplane ticket. IM COMING FOR YOU
所以在第一個例子,作者簡重點放在作爲該句子一部分的單詞上,在第二個例子中,作者描述了一個單獨的句子。這與引號相似,其中一個單詞通常是某種強調或諷刺,而多個單詞是引語。
有沒有辦法在正則表達式(Java)中做到這一點?
編輯: 所以我的一般方法需要2種模式,每種情況下的對照,引號和*。第一步是通過運行替換\*((\w+)+\w+)\*
到$1.
來處理多字,然後將所有*
全部替換爲空。這有效,但我需要6個正則表達式調用。有沒有更好的辦法?
你的例子都替換所有' *'秒。 – Mena
不,第二個例子用最後一個'*'的位置替換一對\ * – Limon
簡單的回答:是的。分享你的研究有助於每個人告訴我們你試過了什麼,以及它爲什麼不符合你的需求。這表明你已經花時間去嘗試幫助自己,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案!另見[問]。請記住** SO不是免費的代碼服務!** –